- Jul 10, 2022
-
-
linawolf authored
- mention the methods of the removed hook to make it easier for developers to search for them. - add missing description of the ModifyAllowedItemsEvent Releases: main Resolves: #97881 Related: #97454 Change-Id: I3667514d8d6b6ef1865e161d77ce18ec2999cca8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75081 Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Lina Wolf <112@linawolf.de> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Lina Wolf <112@linawolf.de>
-
- Jul 09, 2022
-
-
Andreas Fernandez authored
The ReST helper tool at https://forger.typo3.com/utilities/rst produced faulty ReST files for quite some time where the trailing colon was missing from labels. Changelog files affected by this issue are hereby fixed with this commit. Resolves: #97882 Releases: main Change-Id: I96b361b0128680d4bc6434c8ddf1aefc0d280df0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75084 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Nikita Hovratov <nikita.h@live.de>
-
Torben Hansen authored
With this change constructor property promotion is used in ext:felogin where possible. Also 2 superfluous overrides of EventDispatcherInterface have been removed, since the property is already inherited through ActionController. Resolves: #97805 Releases: main Change-Id: I48ac97fe86dc068db023e247039ab38669c868e2 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74974 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Stefan Bürk <stefan@buerk.tech>
-
Oliver Klee authored
This helps avoid breakage when GeneralUtility will switch to strict mode. This change also prevents a bunch of possible invalid array access warnings. Resolves: #97580 Related: #97578 Releases: main Change-Id: Iba6eae561cf8e3607474287683d606a63d14f041 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75080 Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Andreas Fernandez authored
The confirmation dialog when FormEngine requests an update never came up in FlexForms as the array key used in `TYPO3\CMS\Backend\Form\Behavior\ReloadOnFieldChange->toArray()` didn't match the key in the `typo3-backend-form-reload` handler in FormEngine JavaScript, which is solved in this commit. Resolves: #97804 Related: #91787 Releases: main, 11.5 Change-Id: I1b95e836408a579d1b3e075f7614d7907bf94a37 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75085 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Stefan Bürk authored
This patch raises egulias/email-validator to min version of 3.2.1, which incorporates latest changes. This also contains a fix to avoid the usage of PHP8.2 deprecated methods, namely `utf8_encode()` and `utf8_decode()`. Used commands: > composer req egulias/email-validator:"^3.2.1" > composer req egulias/email-validator:"^3.2.1" \ -d typo3/sysext/core --no-update Resolves: #97879 Releases: main, 11.5 Change-Id: Ia985dd3171ec988201022052d036b00e765c2654 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75074 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Larry Garfield authored
This introduces two new events to replace the old modify hooks in LinkBrowser. They are a direct 1:1 replacement. Resolves: #97454 Releases: main Change-Id: Ic79b3c9c56452188323574d92b9fe91c37a2da29 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74798 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>
-
Benni Mack authored
Due to a regression in TYPO3 v11.5.11, using typolink.parameter with stdWrap might also return more than just the URL. This change reverts this behavior by overlaying the decoded typolink string with the original decoded typolink string. Resolves: #97869 Related: #90404 Related: #80896 Releases: main, 11.5 Change-Id: I22010983886a8da8a339aa6376d36303f3b729b2 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75046 Tested-by:
core-ci <typo3@b13.com> Tested-by: Felix Nagel Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by: Felix Nagel Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Larry Garfield authored
Resolves: #97880 Releases: main Change-Id: I582ee8b408ef3df97e0ca9696de95083a9c49bc0 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75077 Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
- Jul 08, 2022
-
-
Larry Garfield authored
This patch addresses most "undefined property" PHPStan messages. Used command: > Build/Scripts/runTests.sh -s phpstanGenerateBaseline Resolves: #97596 Releases: main, 11.5 Change-Id: I8c599166fa1747cc34573a035598eaaadbf680cc Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74583 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
dsteinborn authored
"msclkid" is the Click ID parameter of Microsoft / Bing which should be excluded from cHash generation. Resolves: #97870 Releases: main, 11.5, 10.4 Change-Id: I9c625e559cb2c7cf031466730ea4eab2e376f9ff Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75047 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Uwe Trotzek authored
This change transforms the processed record of FlexForms into a human-readable format. This is especially useful when comparing changes in the history module or the workspaces diff view. The diff needs to be formatted with line breaks and tabs as the output is passed through "htmlspecialchars" before it will be displayed. The white-space css setting needs to be changed to "pre-wrap", because this is the only setting where line breaks and tabs are kept and the text will still be word-wrapped. The old view is used as a fallback, if no record is available (import preview). Resolves: #91148 Releases: main, 11.5 Change-Id: Iab1dfb59f98dc712b8984a8087525634b5ec4ebd Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64260 Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Nikita Hovratov <nikita.h@live.de>
-
Mathias Brodala authored
The Guzzle handler stack allows for pushing handlers/middlewares with a name which simplifies debugging. A possibly defined handler name is now pushed onto the stack as well. Resolves: #97873 Releases: main, 11.5 Change-Id: I94ecbe7bc26f550111407f19f71add3ca7c3a6b2 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75050 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Oliver Hader authored
Escaping SQL `LIKE` wildcards is only provided via `QueryBuilder::escapeLikeWildcards()`, but would be useful as `Connection::escapeLikeWildcards()` as well (without having the demand to create another `QueryBuilder` instance). With this patch, both methods are available: * `QueryBuilder::escapeLikeWildcards()`, and * `Connection::escapeLikeWildcards()` Resolves: #97878 Releases: main, 11.5, 10.4 Change-Id: Ia8968dee944300949c6bb2be5b15e2d02a589d25 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75072 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:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Andreas Fernandez authored
The TYPO3 icon set is updated to version 3.1.2 which fixes a regression with buttons. See full changelog here: https://github.com/TYPO3/TYPO3.Icons/compare/v3.1.0...v3.1.2 Executed commands: cd Build nvm use yarn add @typo3/icons@^3.1.2 grunt build Resolves: #97872 Resolves: #97842 Releases: main Change-Id: Iba778452d913defbf34654ec52efa08cd5728f02 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75049 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Larry Garfield authored
This introduces two new events to interact with the backend controller page generation process. They mirror and replace the renderPreProcess and renderPostProcess hooks, which are removed. The vestigial constructorPostProcess hook is also removed entirely. Resolves: #97451 Releases: main Change-Id: I58bccf341b478eedc87c9a9dd81fac788bba0a91 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74797 Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Jul 07, 2022
-
-
Benni Mack authored
This change reduces the logic within TMENU in order to further unify link generation within the menu rendering. Resolves: #97865 Releases: main Change-Id: I495b167b7e6e302fc7e8b04757eab1eb8e359528 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75043 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Larry Garfield authored
This patch adds property and return types to the core Request class. Parameter types cannot be added to methods from RequestInterface as it has no typed version yet. Doing so allows for the removal of a lot of now-unnecessary tests as well as PHPstan baseline issues. This patch also notes, but does not correct, the incorrect implementation of getUri(), which this implementation permits to return null even though that is a PSR-7 violation. Fixing that has several knock-on effects better addressed in future patches. Resolves: #97620 Releases: main Change-Id: I9b754a261b77fa8fdb6fa58706edf8a5c5248be4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74634 Tested-by:
Daniel Haupt <mail@danielhaupt.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Daniel Haupt <mail@danielhaupt.de> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Larry Garfield authored
Fluid's TagBuilder::getAttribute() is doc-typed as returning `string`, but the description says it returns `?string`. That meant PHPStan believes the `$file !== null` check is unnecessary, when it actually is. The TagBuilder class is not in core, though, but in the typo3fluid vendored package, so it cannot be corrected from here. However, the `$attributes` array is already requested above, and then href/src is removed from it anyway because it's the same piece of data. So just reading off of the array we already have and doing missing-value handling there ourselves resolves the PHPStan issue, is slightly more consistent with what the next line does (the unset() call), and is ever so slightly faster as it skips a method call. Resolves: #97743 Releases: main Change-Id: I4b24eebdfded4c02c5d59eac2ee00d1cc036d0da Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74828 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Felix P. <f.pachowsky@neusta.de> Tested-by:
Henning Liebe <h.liebe@neusta.de> Tested-by:
Vanessa Räbiger <vmartens91@gmail.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Felix P. <f.pachowsky@neusta.de> Reviewed-by:
Henning Liebe <h.liebe@neusta.de> Reviewed-by:
Vanessa Räbiger <vmartens91@gmail.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Larry Garfield authored
ComparisonInterface's documented types and actual types are inconsistent. This patch corrects the types to be consistent with what the actual code does, which allows for the removal of several PHPStan errors. Resolves: #97604 Releases: main Change-Id: Ib58def06b4c702443f4aac63a667cadfac26dc49 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74655 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
linawolf authored
Introduce development and API section, so they can be referenced. Resolves: #97140 Releases: main Change-Id: I28051e09c7800c2653b288460bb618c2bcb987f7 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73857 Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Oliver Klee authored
Storage folder identifiers can also be int-like strings, which causes them to automatically get cast to int when used as array keys. Our types annotations need to reflect this in order to keep developers and static analysis for taking those array keys to be always strings (which can lead to type errors and has recently done so). Resolves: #97858 Relates: #97851 Relates: #97711 Releases: main, 11.5 Change-Id: If0fbfab5792446cfe10564803d8d540dd3cc6bb5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75033 Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Benni Mack authored
This change adds two new PSR-14 Events * \TYPO3\CMS\Frontend\Event\AfterCacheableContentIsGeneratedEvent * \TYPO3\CMS\Frontend\Event\AfterCachedPageIsPersistedEvent which replace $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['contentPostProc-cached'] $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['contentPostProc-all'] and $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['usePageCache'] $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['insertPageIncache'] hooks. Those hooks were much important and powerful, receiving even more power by the new Events, which allow manipulating content stored in cache, or when a page was cached in the Frontend. Additionally, the TSFE->generatePage_postProcessing() method does now require a ServerRequestInterface as first paramter, to be able to pass the current request to the new events. Resolves: #97862 Releases: main Change-Id: Ibd97d22ec1c4a726a78164b234bf8b4ce41f9dca Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75039 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:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Oliver Hader authored
Several places in the TYPO3 core fall back to using 'http' as protocol for links in case none was given. In order to adjust this behavior new $GLOBALS['TYPO3_CONF_VARS']['SYS']['defaultScheme'] setting has been introduced, which uses 'http' as default. In order to adjust the default protocol, one has to add the following assignment to their LocalConfiguration.php settings: $GLOBALS['TYPO3_CONF_VARS']['SYS']['defaultScheme'] = 'https' Resolves: #97111 Releases: main, 11.5 Change-Id: I8c86a3b98dfdfef96c6e433de28e24c1af7f27ab Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73867 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de>
-
Georg Ringer authored
Fix a notice if a browse menu is being generated but no parent page is available. Resolves: #97608 Releases: main, 11.5 Change-Id: Id0674fddccf62e02febdfa7b609521d0db3114b1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74603 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
crell <larry@garfieldtech.com> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Torben Hansen <derhansen@gmail.com> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Lina Wolf authored
Releases: main, 11.5, 10.4 Resolves: #97867 Change-Id: I5948ff1ab539d6f90da9034fdd05c104ea344c25 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75044 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Björn Jacob <bjoern.jacob@tritum.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Björn Jacob <bjoern.jacob@tritum.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech>
-
Simon Schaufelberger authored
The TSconfig options "mod.web_layout.disableNewContentElementWizard" and "mod.newContentElementWizard.override" are removed with this patch as they are serving edge-case usages. Resolves: #97701 Related: #92504 Related: #92507 Releases: main Change-Id: I5d8b24fa4bb339fdd0435c7ea29b38b2fa86caf7 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74777 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>
-
Oliver Klee authored
Methods from InaccessibleFolder should not be called and always throw an exception when called. Annotate this to help static code analysis understand this. Resolves: #97859 Releases: main, 11.5 Change-Id: Id3f563e5cd2780715a860de7faf567f9cb960d30 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75034 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Mathias Brodala <mbrodala@pagemachine.de> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Mathias Brodala <mbrodala@pagemachine.de> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Benni Mack authored
Various properties can be accessed directly via TypoScript config settings. * $TSFE->spamProtectEmailAddresses * $TSFE->intTarget * $TSFE->extTarget * $TSFE->fileTarget * $TSFE->baseUrl They have been marked as deprecated. In addition, some internal functionality is now marked as @internal as well, somehow related to the deprecated properties. Resolves: #97866 Releases: main Change-Id: Ieecd1674783a1d9b9092528d16a988568e857e18 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75040 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> 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>
-
- Jul 06, 2022
-
-
Oliver Klee authored
This helps reduce warnings when extensions are type-checked with PHPStan. Resolves: #97820 Releases: main, 11.5 Change-Id: Iee5cd28402d9e33af0bfaa34815552ba331718ee Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74991 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Nikita Hovratov <nikita.h@live.de>
-
- Jul 05, 2022
-
-
Andreas Fernandez authored
The method FileStorageTreeProvider->getSubfoldersRecursively() iterates an array of subfolders and prepares folder information based on the iterated data. This functionality has a minor flaw, thanks to PHP, in case a folder is named with numbers only, PHP treats array indices as integer if they can be parsed as such, leading to TypeErrors as the method prepareFolderInformation() expects a nullable string. The passed subfolder name is now cast to string to solve this issue. Resolves: #97851 Releases: main, 11.5 Change-Id: I3357121c4892d6063b6714e4e7b436b3ebdd1802 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75028 Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Nikita Hovratov <nikita.h@live.de> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Nikita Hovratov <nikita.h@live.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Benni Mack authored
This change removes the internal property "indexedDocTitle" which is filled by the PageTitleProvider API. This API is then moved to Indexed Search to use the same logic to fetch the "real" page title (without site title etc) when a plugin is registered. Resolves: #97861 Releases: main Change-Id: Ide1b8d1b700d9e555e02d4a02af154f05cb54130 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75036 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Markus Friedrich authored
Adapts several content objects to use the local TypoScriptFrontendController instance of ContentObjectRenderer, to reduce usage of global objects and to avoid conflicts when different frontend environments are used, e.g. while indexing with EXT:solr. This adaption should be safe as the ContentObjectRenderer falls back to the global TypoScriptFrontendController, which was used in the content objects until now. If TypoScriptFrontendController is not available, a ContentRenderingException is thrown. Resolves: #97638 Releases: main Change-Id: I224829359f150739931da8b972ac3afded67a0fd Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74681 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Benni Mack <benni@typo3.org>
-
Andreas Fernandez authored
With the upgrade of TypeScript to version 4.7, typescript-eslint reported itself as incompatible. To solve this, all eslint related packages are updated to their respective latest version. Executed commands: cd Build nvm use yarn add --dev \ @typescript-eslint/eslint-plugin@^5.30.5 \ @typescript-eslint/parser@^5.30.5 \ @typescript-eslint/typescript-estree@^5.30.5 \ eslint@^8.19.0 grunt build Resolves: #97854 Related: #97698 Releases: main, 11.5 Change-Id: Id59b1658b1d83bfa537629b8d1df32c3624351b4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75027 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Nikita Hovratov authored
Resolves: #97855 Releases: main, 11.5 Change-Id: I2cff602b6b77f451061024797adec94713f8b82e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75032 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Jul 04, 2022
-
-
Andreas Fernandez authored
To improve both, UX and acceptance tests (incl. automated screenshots for docs), a notification is now dispatched when records were saved via EditDocumentController. Resolves: #95271 Releases: main Change-Id: I98b43bb9ecf643d634740ffc4241943a49a5a87f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74196 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Björn Jacob <bjoern.jacob@tritum.de> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Björn Jacob <bjoern.jacob@tritum.de> Reviewed-by:
Oliver Bartsch <bo@cedev.de>
-
Francois Suter authored
In two places \TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapFactory accesses the TCA for some table without checking if it exists. Resolves: #97853 Releases: main, 11.5 Change-Id: I02c46153013c920cc771f085f872004e9a22ab3c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75025 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Francois Suter authored
Make sure that item key for custom permission options are cast to string before being parsed for invalid characters. Resolves: #97852 Releases: main, 11.5 Change-Id: Id8ff1997b875171316784d00bdc7bf72702d7645 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75024 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Florian Rival authored
Use new Symfony TypoScript condition syntax instead of outdated syntax. Releases: main,11.5,10.4 Resolves: #97847 Change-Id: Ib0711c2ed871762415b022159a3c6c4b5e688a10 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75023 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Björn Jacob <bjoern.jacob@tritum.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Simon Schaufelberger <simonschaufi+typo3@gmail.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Björn Jacob <bjoern.jacob@tritum.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Christian Kuhn authored
This adds a rewritten TypoScript syntax parser to ext:core. The heart of the existing parser dates back to Kasper's initial commit in 2003 and most parts have never been touched structurally. Even though various parts of TypoScript became less important in the Frontend rendering chain over time, it still plays a central point. Looking at the given parser approach, it became clear the project can benefit from a revamped parser based on modern PHP code. Goals: * A well structured, flexible and tested codebase. * Fix long standing syntax shenanigans and limits of the current parser approach and make the syntax interpretation more robust and resilient. * Have a better cache layer that kicks in more often to ultimately gain speed building the FE TypoScript. * Allow improving the Backend "Template" module to show and analyze more TypoScript details. * Have an object based structure for the final TypoScript tree, and allow an array export of it to keep backwards compatibility. The new implementation aims to fully substitute the old parser. This first patch however only brings the "library" part of needed code changes: There is no usage of the new parser whatsoever with this patch, except of course unit and functional tests. To understand the structure of the new parser, it might be helpful to have a rough understanding of the old parser. We'll look at the frontend parsing steps only, Backend usages in Template module are similar, though. When accessing a frontend page, TYPO3 at some points finds the requested page uid. It then builds the "rootline" of page records from the top page root node down to the requested page. This creates a list of page database records, mountpoints and similar are taken care of at this point, too. This rootline is fed to the old TypoScript parser. The parser now finds all relevant sys_template records attached to the rootline pages. These are the "entry" TypoScript snippets to parse. It then resolves all "includes": Snippets from sys_template include_static_file db records, snippets from various globals, snippets from sys_template basedOn, and so on. It also resolves @import and <INCLUDE_TYPOSCRIPT: syntax and substitutes them with the included content. All that is gathered in one huge string. The main parsing process then goes through this string and creates the TypoScript array, while taking care of conditions and constants substitution at the same time. This approach has various drawbacks: First, gathering everything into one main string forces to parse the entire string a-new for each and every page: A different page could have different includes or sys_template records attached. Secondly, parsing conditions and constants while creating the final array from the source string, ties "runtime" information (especially conditions) hard into the main parsing process, rendering an effective cache layer impossible. Third, the main strategy of gathering everything in one string leads to various funny details, for instance when opening a condition in one file and not closing it with [end] or [global], this state leaks to the next file. Bracket handling "}" has similar issues. These structural issues can't be changed by refactoring the given codebase, the only option is to rewrite the entire thing. IncludeTree: The entry point to the new parser is IncludeTree/TreeBuilder: This one again receives the pages "rootline" from Frontend. But instead of creating one huge string, it creates an object tree of includes. Each attached sys_template record is a child of "RootInclude" in the tree, and each sys_template include node can have children for further includes (like include_static_file). Single source snippets of each include are tokenized (see below) and analyzed for @import and <INCLUDE_TYPOSCRIPT: and conditions: If they exist, an include is marked as "split". Each part is then represented by child includes. We thus receive a tree of objects where imports are already resolved, and conditions are child nodes in the tree. The main advantage is this tree does not carry runtime information. A single snippet *always* leads to the same tree, no matter if a condition matched or not. This way, the tree can be cached and the full tree, or parts of it can be re-used when requesting a different page. To do that efficiently, a new cache "typoscript" is established to store a serialized representation of the tree as php file, which can be unserialized relatively quickly. Tokenizer: The tokenizer takes a single source snipped and creates a stream of Line objects from it, with tokens representing the source line. For instance, a TypoScript snipped like "foo = fooValue" creates a IdentifierAssignmentLine object, with a T_IDENTIFIER token for "foo" and a T_VALUE token for "fooValue". There are Line classes for all the different Lines (assignment, copy, condition, ...) and Tokens for the various details (T_VALUE, T_CONSTANT, ...). Tokens are sometimes encapsulated in TokenStreams, for example multiple identifiers "foo.bar = barValue" create a stream of the two T_IDENTIFIER tokens "foo" and "bar". This depends on the line type. We also have two different tokenizers: The Frontend uses the LossyTokenizer which creates a stream only of "relevant" tokens: Empty lines, comments and lines with invalid syntax are ignored. The LosslessTokenizer however creates a 1:1 representation of the source snipped, including token positions (line and start column). This allows detailed analysis in the Backend Template module. AstBuilder: This is the third part of the structure: A representation of parsed TypoScript as object tree. This is similar to the array we're dealing with now, but it can carry additional functionality. For instance, the well-known TypoScript array can be extracted from it. Using the AstBuilder works like this: Create the IncludeTree first (from cache). Next, traverse the IncludeTree with a visitor that looks at condition includes and sets an information if they match. Then, feed all includes that matched to the AstBuilder to create the object tree. The AstBuilder receives a LineStream of each include and extends the object tree depending on the line type. This means: IncludeTree building and source tokenizing can be cached in Frontend, applying constants and condition verdicts together with building the finally TypoScript object tree is a runtime step on each page. Separating tokenizing and AST building with a cache layer in between is roughly twice as fast in Frontend compared to the previous solution. The patch establishes these three main structures and comes with an extensive set of unit and functional tests. It is an extract of a bigger WIP patch that already contains usages of the new structure in Frontend and some parts of the Backend. The patch also adds a ReST file to explain some subtle TypoScript syntax changes. These will kick in as soon as we start using the structure with upcoming changes. The new parser should be rather robust already. Further changes that start using the new parser will probably only change minor things. For now, the entire structure is marked @internal, though: API is still the array representation, only. This will change later when we actively start using the TypoScript object tree in the core. Change-Id: I4047a878494078b6ac149553fa305c1d69329e37 Resolves: #97816 Resolves: #96503 Resolves: #90146 Resolves: #41327 Resolves: #76447 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74987 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>
-