- 08 Jun, 2022 1 commit
-
-
Some default fields (e.g. tt_content.bodytext) can contain null values. TYPO3 first fetches the data in the default language and then overlays the rows data with the translation values. The overlay method inspects each array item with the php isset() function. This validates not only the existence of the array key, but also the values. null and false values evaluated as false. Empty strings evaluate as true. This leads to inconsistent output in the frontend. The overlay now valides only the array key existence and applies also empty values. Resolves: #97616 Releases: main, 11.5, 10.4 Change-Id: I4b01c52e9ac7adde786b3395bce870bc0a354b58 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74632 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 07 Jun, 2022 1 commit
-
-
Searched for "/** @var " and went through all results manually. Skipped results where GeneralUtility::makeInstance is called with a variable. This reduces the PHPStan baseline further. Imported some namespaces on the go. Run commands: > Build/Scripts/runTests.sh -s phpstanGenerateBaseline > Build/Scripts/runTests.sh -s cglGit Resolves: #97705 Releases: main,11.5 Change-Id: I700ba596234af8cd3d32507fb03d77cfe30c678a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74785 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
- 05 Apr, 2022 1 commit
-
-
With this new option an editor is able to view all records on a page regardless of the start and end time. This is especially helpful if one has content on a page with different start and end times and an editor wants to have an overview of all elements on that page. For example if he wants to check if the layout and everything is okay. Without this option the editor has to simulate multiple dates to be able to see all records, because records which are visible on one date, can be invisible on another. Resolves: #91082 Releases: main Change-Id: If4bd4103615f17a17fac8cb003e439bee65301da Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64208 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>
-
- 14 Mar, 2022 1 commit
-
-
Benni Mack authored
This change moves the check if a page can be accessed by a BE_USER and if a page is rendered in preview, while executing a Frontend Request, to the PSR-15 "TypoScriptFrontendInitialization" middleware. This way, TSFE itself does not need to know / set any preview mechanism itself, since this is now handled already during the Frontend Request flow. For this reason, the "determineId()" method can now include the logic of "fetch_the_id()", allowing "fetch_the_id()" (protected) to be completely removed. It's now much easier to grasp that "determineId()" actually just determines the final ID / Page / Rootline incl. translations based on the given request. This is a precursor patch to introduce new PSR-14 events that are better suited in the request workflow than existing hooks. Resolves: #97176 Releases: main Change-Id: I3bc1a8709288f01fe6978982572acba6f53f77b3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73905 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Susanne Moog <look@susi.dev> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Susanne Moog <look@susi.dev> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 05 Mar, 2022 1 commit
-
-
doctrine/dbal moves their classes forward and deprecated some stuff while providing replacement for it. This has been early adopted for the core facade classes with #97081 in a forward-compatible way. Before deprecating the old methods core usage have to be replaced. Following ExpressionBuilder methods are replaced: * 'andX()' with 'and()' * 'orX()' with 'or()' 'and()' and 'or()' are made strict along the way. This is a preparation to deprecate 'andX()' and 'orX()' to align with ongoing deprecation and replacement of doctrine/dbal changes. Resolves: #97110 Related: #97081 Releases: main Change-Id: Ia931266c6edc3abea38122242d7eab1092ae7d49 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73817 Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 02 Mar, 2022 1 commit
-
-
Benni Mack authored
The method getTreeList() has had a difficult time to use, and its logic is now moved to * PageRepository->getPageIdsRecursive() * PageRepository->getDescendantPageIdsRecursive() using a better API to understand and streamlined code. Resolves: #97027 Releases: main Change-Id: I5069fa744e78e7ffd3a1e1d3a60e352a2ff62199 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73677 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 15 Feb, 2022 1 commit
-
-
Oliver Bartsch authored
Resolves: #96913 Releases: main, 11.5 Change-Id: Idf1b2d34d9c4373f52f5d8cbae84d83d2d5bfbd3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73529 Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
- 14 Feb, 2022 1 commit
-
-
TSFE contains a lot of functionality which is rather related to other places. One of them is the protected method "determineIdIsHidden" which is now transferred to PageRepository where all other methods related to this logic is kept. Resolves: #96886 Releases: main Change-Id: I5213ae5f899fcdf9a39046021d40f2ed9005adac Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73486 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 05 Feb, 2022 1 commit
-
-
Due to the removal of move placeholders in TYPO3 v11, moved records on translated pages could not be resolved anymore in TYPO3 v11. Resolves: #93445 Releases: main, 11.5 Change-Id: Ibdd17b735d199e4fe02766f449c8755ea87df1cd Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73150 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>
-
- 18 Jan, 2022 1 commit
-
-
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>
-
- 10 Jan, 2022 1 commit
-
-
Resolves: #96490 Releases: main Change-Id: I43218e8f99f062fc43f14e1b26d7b68d8ca5414d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72937 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
- 05 Jan, 2022 1 commit
-
-
Benni Mack authored
This change moves the method resolveShortcutPage() into PageRepository as it is now also used in determining if a page is marked as active / current. The method `resolveShortcutPage()` is much more convenient when working with $page records instead of the properties, instead of `getPageShortcut()`. This also allows MenuProcessor to have a proper "active" and "current" values set properly without any workarounds. Resolves: #85138 Resolves: #80841 Resolves: #87923 Releases: main, 11.5 Change-Id: Ic401fb42696757199c5974120f24250c467d9b75 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72860 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 21 Dec, 2021 1 commit
-
-
Benni Mack authored
Currently, HMENU generates the direct destination for a shortcut URL, but typolink does not. This is an inconsistency, and since HMENU is actually using typolink now as well (in 4.x this was different), the resolving of shortcuts can now be moved into the typolink/link building functionality. Page Shortcuts are now resolved (recursively!) at a single point for all links, except for RANDOM_SUBPAGE variants, as this is sorted out during runtime when hitting the RANDOM_SUBPAGE shortcut page. Resolves: #80113 Resolves: #95947 Releases: main, 11.5 Change-Id: Ib6204ff1b0ecb699ec87f5154dc18c974676e65c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/71402 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 16 Dec, 2021 1 commit
-
-
Benni Mack authored
HMENU special="directory" and special="updated" did not use PageRepository directly, which led to duplicate entries with workspaces. This change does not use "$cObj->exec_..." anymore and fixes all problems. Resolves: #96226 Releases: main, 11.5 Change-Id: I595ac05981d03246eb7671c9ae072f499bff5188 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72648 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Jochen <rothjochen@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Jochen <rothjochen@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 07 Dec, 2021 1 commit
-
-
Oliver Bartsch authored
The database table sys_language has become obsolete with the introduction of site handling and site languages. Therefore, the sys_language database table and the corresponding TCA is now removed. Fixtures and tests are adjusted to no longer rely on this table. Additionally, also a couple of code comments through the Core are adjusted. Executed commands: composer u typo3/cms-styleguide Resolves: #96277 Related: #94165 Releases: main Change-Id: I4ab0f3c7bb6de110cc1ce9826b2718f60d8a18a0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72534 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
- 28 Nov, 2021 1 commit
-
-
The methods `PageRepository->fixVersioningPid()` and `BackendUtility::fixVersioningPid` are removed, because they are not needed anymore since TYPO3 v11.0 with the removal of various VersionState (t3ver_state). Resolves: #96120 Related: #92598 Releases: master Change-Id: I029169563e094b42a2e8a1a52d0a6533984436d9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72341 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Wouter Wolters <typo3@wouterwolters.nl> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 10 Nov, 2021 1 commit
-
-
Resolves: #95925 Releases: master Change-Id: I125fcb5e60561646ee8398b0536106a2d5c828ed Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72103 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 13 Oct, 2021 1 commit
-
-
Christian Kuhn authored
Some PageRepositoryTest tests call getMenu() with a restricted set of select fields as second argument. Running this test without error suppression reveals the code accesses db fields like 'doktype' which are not fetched with a restricted field list. The patch changes the test method calls to not restrict the field list to fix the test, and adds a @todo in PageRepository to review the $fields argument with a future patch so the code does not rely on a possibly incomplete list of fields anymore. Resolves: #95634 Releases: master Change-Id: Ib4c6f2f22a4222b1383fcdbf554d4fe78c919626 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/71632 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:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Jochen <rothjochen@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 24 Sep, 2021 2 commits
-
-
In some cases it can improve performance too. Resolves: #95210 Releases: master Change-Id: I4915bb1391ec99ff891248545080640965c8f62a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/70204 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Benni Mack authored
The rule trailing_comma_in_multiline is added to the PHP CS fixer configuration. This reduces possible merge conflicts in the future. The commands to apply the rules over the code base was ./bin/php-cs-fixer fix \ --path-mode intersection \ --config=Build/php-cs-fixer.php \ typo3/sysext And then: ./bin/php-cs-fixer fix --config=Build/php-cs-fixer.php Resolves: #94553 Releases: master Change-Id: I0ebbfa9edbbcde19aaeb44219a71f2f093ab705e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69825 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Wouter Wolters <typo3@wouterwolters.nl> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 02 Sep, 2021 1 commit
-
-
Pages with doktype > 200 had not been considered in the sql query. Now all doktypes are being fetched except for the spacer, sysfolder and recycler. Resolves: #94814 Releases: master, 10.4 Change-Id: I8a0165ceaccd89724501ecd01bfba6cebad6efa4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/70492 Reviewed-by:
Mathias Brodala <mbrodala@pagemachine.de> Reviewed-by:
Marvin Dosse <marvindosse@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Marvin Dosse <marvindosse@gmail.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org>
-
- 23 Aug, 2021 1 commit
-
-
The information is available in the request and should be used from there. Resolves: #94632 Releases: master Change-Id: I8730e8a96bed7272d6c6239b7d55ea56a03bd2de Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/70065 Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 29 Jul, 2021 1 commit
-
-
This change migrates $result->fetch() methods to $result->fetchAssociative() and $result->closeCursor() to $result->free() methods. Since TYPO3 uses fetchMode "associative" by default when setting up the connections, this change is another step towards Doctrine DBAL 3.0 compatibility. Resolves: #94659 Releases: master Change-Id: Idce7c8466925a6e58059e7e16ebc3ffe35ca6fa6 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/70125 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>
-
- 23 Jul, 2021 1 commit
-
-
Fix undefined array keys in form, core and indexed_search for the frontend and in extensionmanager. Resolves: #94613 Releases: master Change-Id: I96230feb46f33c9a606a72f765bc79e19d8b28dd Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/70024 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 22 Jul, 2021 1 commit
-
-
This change replaces all query results from the database from fetchColumn() to fetchOne(), as this is the new API used in Doctrine DBAL. This change is one of a few to prepare for Doctrine DBAL 3.0 compatibility. Resolves: #94605 Releases: master Change-Id: Ia9ca2bbb7b2c16a230c5946941cc3023203f494d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69917 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>
-
- 16 Jul, 2021 1 commit
-
-
Add fallback for undefined array keys in EXT:frontend, EXT:indexed_search, EXT:core. This fixes frontend rendering of a basic site package including all available content elements. Resolves: #94546 Releases: master Change-Id: I051f2d6d0b2278394e95af8eb26be11b3f4aa9a7 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69819 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 16 Jun, 2021 1 commit
-
-
PSR-3 has specific rules around interpolation: Messages may provide placeholders like {foo} and writers should substitute these in the messages if a context array with such a key is provided. Let's use placeholders correctly. Resolves: #94315 Related: #94356 Releases: master Change-Id: I2c285e84f1832c80828861369e99af9aff6cd267 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69425 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 14 Jun, 2021 1 commit
-
-
This change aims to reduce all left-over strict type changes, and backwards-incompatible changes in our own code base making sure that TYPO3 can run smoothly with PHP 8. Resolves: #94335 Releases: master Change-Id: I9d1c8966a56a80bb68216ae535547e0bf55e50c9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/67243 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>
-
- 06 Mar, 2021 1 commit
-
-
Scenario: A translated content element is hidden in live, a workspace overlay is not hidden. In workspace preview, the element should be shown - since it is not hidden in workspace. This is not the case. The patch fixes this: The 'base' db call for content elements ignores hidden & time based restrictions and elements are sorted out by versionOl() instead, if a workspace preview is requested. Resolves: #93336 Releases: master, 10.4 Change-Id: I6ed285c0fae240482da8719ab50b26f89375d599 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/68185 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Sebastian Michaelsen <michaelsen@t3seo.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Sebastian Michaelsen <michaelsen@t3seo.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 20 Jan, 2021 1 commit
-
-
Pages with a date visibility outside the current date had their preview link generated incorrectly as the runtime cache was already filled with the data of the current date. If the date aspect is taken into account proper preview links can be generated for future or past pages as well. Resolves: #92944 Releases: master, 10.4, 9.5 Change-Id: Icd5c1f8e1f0ddea07780d1ca1d1d050660443927 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/66934 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Richard Haeser <richard@richardhaeser.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Guido Schmechel <guido.schmechel@brandung.de> Reviewed-by:
Richard Haeser <richard@richardhaeser.com>
-
- 20 Nov, 2020 1 commit
-
-
Replace the uid of the translated page with the uid of the original page in the mountpoint parameter. Resolves: #91328 Releases: master, 10.4 Change-Id: I6eeceff8b191cd76e134fda59e67550b58dfa985 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64952 Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 17 Nov, 2020 1 commit
-
-
The access settings is an exclude field and hence the value is synchronized to the translation. Fetching the translation overlay therefore does not need to evaluate the fe_groups again. Resolves: #91725 Releases: master, 10.4, 9.5 Change-Id: Ie6ec2208d15f67eafb6a48627c5f1b76ffdc5725 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/66330 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 12 Nov, 2020 1 commit
-
-
Benni Mack authored
Creating a new record in a workspace adds two database rows. One that is the "placeholder", which - since v10.4 - contains the same metadata as the other record: * t3ver_wsid = workspaceID * t3ver_oid = 0 (simulating behavior of an "online pendant record") * t3ver_state = 1 And the "versionized" record, identified by: * t3ver_wsid = workspaceID * t3ver_oid = uid of the new placeholder record * t3ver_state = -1 As of TYPO3 v10, the first record is not needed anymore, the versioned record can be queried directly, however, since the relations (except MM) point to the placeholder record, this one is kept. As result, only one record is created from now on: * t3ver_wsid = workspaceID * t3ver_oid = 0 (no online counterpart) * t3ver_state = 1 On reading, the record is queried directly (no overlay needed anymore!) with the existing Database Doctrine Restrictions. On publishing, the record just gets the state/stage/wsid set and is "live". This brings fundamental benefits: * No overlays needed when querying * Fewer database records (placeholders are not helpful) * Conceptual problems with placeholder and shadowed fields are removed Resolves: #92791 Releases: master Change-Id: I0288cc63fe72d8442d586f309bd4054ac44e829b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/65587 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 28 Oct, 2020 1 commit
-
-
A couple of not needed assignments throughout the core and a 'too many arguments' fix. Resolves: #92605 Releases: master Change-Id: I883dc2fcc12c72c525bc7a44236cac8311d96f11 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/66182 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de>
-
- 19 Oct, 2020 2 commits
-
-
In the past, the API methods: * PageRepository->versionOL() * BackendUtility::workspaceOL() returned the PID of the moved record in a workspace in the field _ORIG_PID and the live record value in "pid". The methods "fixVersioningPid()" were used to return the moved PID (of the versioned records) and set the "_ORIG_PID" to the value of the live record. This inconsistency can be overcome by simply using workspaceOL returning the newly moved location as "pid" and keep the "_ORIG_pid" of the live record for later purposes. This way, fixVersioningPid is not needed anymore, if workspaceOL/versionOL is applied. TYPO3 Core is not using the fixVersioningPid methods anymore now and they are marked as deprecated. As this is a breaking change ("behavior of overlay and value of _ORIG_pid") an RST explains the new behavior. Resolves: #92598 Releases: master Change-Id: I618d282d490b386e1a75caae3ab657f1605e3cb3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/66169 Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
Since the move placeholder code is gone, some variables / methods are still "cryptic" and some comments are outdated. This change modifies some places to make the code more readable for its current state. In addition, the RootlineUtility code is now more focussed and explained on the move pointer retrieval. Resolves: #92592 Releases: master Change-Id: I651bcad138cffc9fc0bdfe2d21a9a7666b93e4ff Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/66172 Tested-by:
TYPO3com <noreply@typo3.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>
-
- 18 Oct, 2020 1 commit
-
-
When using workspaces, the computed field "_ORIG_pid" is the same value as "pid" when using the workspace-related methods * PageRepository->versionOL() * PageRepository->fixVersioningPid() * BackendUtility::workspaceOL() * BackendUtility::fixVersioningPid() The field "_ORIG_uid" which keeps the UID of the versioned/workspace record, is still set. Resolves: #92571 Releases: master Change-Id: I53fc4a00915d070f2f45495b51269ebf21d27637 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/66138 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de>
-
- 15 Oct, 2020 1 commit
-
-
This also deprecates two GeneralUtility methods which do not belong in this class, and makes the API more understandable and better documented. Resolves: #92551 Releases: master Change-Id: Ibb8b02ae11c76f3f7f65bf0a3eb22c82e94127e5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/65749 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 13 Oct, 2020 1 commit
-
-
A couple of functions in PageRepository allow to define the fields to be selected. Because the `uid` is used internally to further process the selected row, this field is mandatory and must be present in a custom fields list. This fact is now documented in all corresponding PHPDoc blocks. Resolves: #91421 Releases: master, 10.4 Change-Id: I957da54a8fd399e375cd601e89a735821d04c3f0 Signed-off-by:
Thomas Löffler <loeffler@spooner-web.de> Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64506 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 12 Oct, 2020 1 commit
-
-
Workspaces ("Element-based versioning") previously had - due to the "pid=-1" logic until TYPO3 v10 - a so-called "MOVE PLACEHOLDER". This was indicated by t3ver_state = 3, all relevant fields: * t3ver_state = 3 (move placeholder) * t3ver_oid = 0 no connected live record, it allowed fetching these records with one query together with live records as db restrictions t3ver_oid > 0 * t3ver_wsid = workspace UID * t3ver_move_id = UID of the live record * pid = new PID the version was moved to * sorting - when a record was moved within page with activated sorting Other record fields were not important. However, when moving a record, the value from TCA ctrl section "shadowColumnsForMovePlaceholders" was used to fill in gaps from the live record. The ACTUAL versioned record was indicated by t3ver_state = 4, the so-called "MOVE POINTER". In previous version until TYPO3 v10, it's PID field was set to -1, but since TYPO3 v10, it has the same PID as the "MOVE PLACEHOLDER". Characteristics of the move pointer as of TYPO3 v10: * t3ver_state = 4 (move pointer) * t3ver_oid = UID of the live record * t3ver_wsid = workspace UID * t3ver_move_id = 0 * pid = PID the version was moved to * sorting - same value as the live record (not evaluated until now) * All other fields with optionally modified content Both move placeholder and move pointer did not know each other directly. Fetching the move pointer for a move placeheldor (or the other way around) involved the live record, leading to many queries. The patch obsoletes the move placeholder records, moving necessary information to the move pointer: It now contains the updated sorting and is considered in the Database Restrictions to be fetched. In general, when publishing, the moved record now behaves identical to the other versioned types. This makes the internal code much easier, creates less DB queries on read + write and leads to less DB records in the database. The change removes creation of move placeholders, and considers the move pointers when evaluating sorting and PID in DataHandler. Read functionality from BackendUtility and PageRepository don't need an additional step to fetch the live version of a move placeholder anymore. An upgrade wizard takes existing move placeholders (state=3), updates pid+sorting (PID generally not needed, just to be sure) of the move pointer (state=4) and then deletes the move placeholder. TCA definition $TCA[my-table][ctrl][shadowColumnsForMovePlaceholders] is not needed anymore and removed by an auto TCA migration. Finally, workspace enabled tables do not need the t3ver_move_id field anymore: The live record UID is already in t3ver_oid field for state=4 records, just like with all other versioned records. The field will be fully removed with a separate patch in order to keep the actual CSV tests readable for this patch. Resolves: #92497 Releases: master Change-Id: I206336aec8be8a324fefdfd69f648f5a298c6ad1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/65797 Tested-by:
TYPO3com <noreply@typo3.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>
-