- Jul 18, 2019
-
-
Alexander Stehlik authored
A new IpLocker class replaces the lock functionality in AbstractUserAuthentication. The new class is capable of locking to IPv4 and IPv6 addresses. Resolves: #21638 Releases: master Change-Id: I0075a9e49690e31c938abf7242c1f088c73bb37d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/52947 Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Neufeind <typo3.neufeind@speedpartner.de> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
Oliver Hader <oliver.hader@typo3.org>
-
- Jul 17, 2019
-
-
Anja Leichsenring authored
Also, some improvements are made to sentence structure, tenses and syntax highlightning. Resolves: #88748 Releases: master, 9.5 Change-Id: I932dabbfc404de7c3dc4f3cef1ccb50c2fd94f72 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61291 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Koen Wouters <koen.wouters@maxserv.com> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Koen Wouters <koen.wouters@maxserv.com> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-
Benni Mack authored
When Page-based slug handling + routing was introduced, the initial PageRouter class turned big very quickly. Especially managing the possible pages that could match was initially based on the candidates principle that could be moved / exchanged later-on. For this to happen the initial step is to move this to a separate PHP class called "PageSlugCandidateProvider". As seen in the patch, all calls to the database related to retrieving pages (DB + PageRepository) are moved into PageSlugCandidateProvider. Resolves: #88575 Releases: master Change-Id: I14b3ebccf439613cc9aa7943d1a44d0892cf04e5 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61050 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Oliver Hader authored
codeblock -> code-block Resolves: #88790 Releases: master, 9.5 Change-Id: I51f30b30ef7344e1b66bd5ed354d3bfe60074a57 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61309 Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Alexander Schnitzler authored
During the creation of Extbase itself, the configuration of controllers and their available/callable actions has been called switchable controller actions. This terminology has later also been used to configure an alternative controller configuration defined via typoscript or flexforms. As of today the term "switchable controller actions" is only used for the latter. The core, however, still uses this terminology for both the default controller configuration and the overrides. To clarify the terminology, the default configuration has been renamed to just "controller configuration". Releases: master Resolves: #88496 Change-Id: I718e2fe03d3560a57b17fc584479aff559d105e8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60834 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Susanne Moog <look@susi.dev> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Susanne Moog <look@susi.dev> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org>
-
Alexander Schnitzler authored
- Use strict type mode - Use type hints whereever possible Releases: master Resolves: #87629 Change-Id: I40d79cb6178886a6fc46edaf6c75fa900bf4ffc9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/59625 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Benjamin Franzke <bfr@qbus.de> Tested-by:
Susanne Moog <look@susi.dev> Reviewed-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Susanne Moog <look@susi.dev>
-
Dmitry Dulepov authored
TYPO3 prevents files from being deleted by the user when there are references to it in the sys_file_reference table. However if the file is referenced without using this table, the file is still deleted without any warnings. An example is a link to the file in a bodytext of a text content element. Thus it is possible to accidentally delete a file, which is referenced on the site in multiple places and create broken links. This change makes sure that such direct references (without using sys_file_reference) also prevent the file from being deleted. Resolves: #88462 Resolves: #77866 Releases: master, 9.5, 8.7 Change-Id: Ib8c45863d75ae430c801173658cf058f850ca982 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60846 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Steffen Frese <steffenf14@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Julian Geils <j_geils@web.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
Benni Mack authored
Since Context API was introduced in TYPO3 v9, PageRepository is highly decoupled from $TSFE->sys_page, and fully works standalone. It is also used in various places where TSFE is not needed, or required, but also in places of EXT:core. Especially parts like RootlineUtility, which depends on PageRepository very much, cannot live without it. I propose to move this highly important PHP class into EXT:core, in order to allow to decouple EXT:frontend even further from EXT:core. The FQCN is moved from - \TYPO3\CMS\Frontend\Page\PageRepository to - TYPO3\CMS\Core\Domain\Repository\PageRepository It can be assumed to use PageRepository for any use-case and actually reduce usages towards BackendUtility::get... by using this API more and more. Further adaptions could be to reduce the logic within PageRepository and move this into QueryBuilder and assimilate especially the "versionOL" behavior. Resolves: #88746 Releases: master Change-Id: Id8225100ac60bd77fc7e1303efb4c46b741d3415 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61166 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benjamin Franzke <bfr@qbus.de>
-
- Jul 16, 2019
-
-
Guido Schmechel authored
To prevent the truncation of new values via TCEForm, the field length is increased to 255. Resolves: #88722 Releases: master, 9.5 Change-Id: I982c20302be216c1819da9efc468f8a7b2be0add Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61283 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Daniel Goerz <daniel.goerz@posteo.de> Tested-by:
Riccardo De Contardi <erredeco@gmail.com> Tested-by:
Tymoteusz Motylewski <t.motylewski@gmail.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Björn Jacob <bjoern.jacob@tritum.de> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Riccardo De Contardi <erredeco@gmail.com> Reviewed-by:
Tymoteusz Motylewski <t.motylewski@gmail.com>
-
Benni Mack authored
HTML5 defines that <script tags do not need "type=text/javascript" as additional attribute. TYPO3 Backend is fully HTML5, so all parts can be removed there. For Frontend, when having config.doctype = html5 (or empty), then the attributes do not get added anymore as well. If necessary, for Frontend rendering the attribute can be added in HTML5 by specifying includeJS.myfile.type = text/javascript in TypoScript. As this modifies Frontend output, it is considered breaking. Also see W3C specification: https://www.w3.org/TR/html52/semantics-scripting.html#element-attrdef-script-type Resolves: #88772 Releases: master Change-Id: I26ca4361e84cae680eedbf6855e209a6311c33da Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61300 Reviewed-by:
Markus Klein <markus.klein@typo3.org> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org>
-
Benni Mack authored
The new PSR-14 standard for dispatching Events (that is: to extend a Framework without having to modify a frameworks' code) adds a EventDispatcher object that can dispatch Event objects to EventListeners. In PSR-14 every dispatched event is an object. It uses PHP class names as identifiers for events. Class hierarchies may be used to group events. A ListenerProvider object collects available listeners from an extension and allows to listen and/or modify data provided by the Event object. The current implementation relies on a custom TYPO3-specific ListenerProvider that is configured using Symfony's Dependency Injection tags. As an example the Mailer-postProcInitialization signal/slot is replaced by an Event. This first patch introduces the feature, and does not deprecate anything yet. The most important part is that new Events can use this API instead of Hooks in TYPO3 v10. Short-Term goal is to deprecate SignalSlot dispatcher in TYPO3 v10, and migrate all signals to the EventDispatcher. Resolves: #88770 Releases: master Change-Id: I3649ddb9b9340640199279e6af3c040bffc397fe Signed-off-by:
Benni Mack <benni@typo3.org> Signed-off-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61303 Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Georg Ringer <georg.ringer@gmail.com>
-
Daniel Windloff authored
Collapse single tables in multi table view of the DatabaseRecordList is invoked via javascript and its state is saved via AJAX. Remove the leftover code, which allows to set the collapse state via _GP('collapse'). Resolves: #88753 Releases: master Change-Id: Ibd02364c54563b76caf6e4f36ae9c8853b1d99c6 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61294 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Björn Jacob <bjoern.jacob@tritum.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
Benni Mack authored
ResourceCompressor allows to only concatenate files given in a given "baseDirectory" as separate option, which was used to only include files that are registered via TBE_STYLES for backend purposes. The functionality is removed to always concatenate all CSS files in TYPO3 Backend. A heavy dependency to DocumentTemplate of ALL backend functionality using PageRenderer is therefore removed. Resolves: #88758 Releases: master Change-Id: I07e2f15a3dd2298371db87ce2723ded0f6a56f31 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61296 Tested-by:
TYPO3com <noreply@typo3.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>
-
- Jul 15, 2019
-
-
Johannes Seipelt authored
Fix the translation key typo as suggested to show the correct error message if the password does not match the confirmation Resolves: #88691 Releases: master, 9.5 Change-Id: I8524bf7faee507782d79633d3b5afd9a0077ad6c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61292 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Björn Jacob <bjoern.jacob@tritum.de> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Björn Jacob <bjoern.jacob@tritum.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-
Susanne Moog authored
Resolves: #88765 Releases: master Change-Id: I26ca496a954b44f8cb08d770ecd544d35583ee6c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61299 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Alexander Schnitzler <review.typo3.org@alexanderschnitzler.de> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Alexander Schnitzler <review.typo3.org@alexanderschnitzler.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
Benni Mack authored
The following database fields from "tt_content" have been removed: * tt_content.spaceBefore (now used via space_before_class) * tt_content.spaceAfter (now used via space_after_class) Resolves: #88744 Releases: master Change-Id: I2da1645b94b68fadb2945c2f1708809e2e9cbab4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61286 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Daniel Goerz <daniel.goerz@posteo.de> Tested-by:
Frank Naegler <frank.naegler@typo3.org> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Frank Naegler <frank.naegler@typo3.org>
-
Oliver Hader authored
The backend users module (ext:beuser) persists previously defined filter combinations in be_users.uc fields of the according user. When a "user group" is defined in the filter, Extbase architecture internals get serialized and persisted as well which has performance impacts and most probably will exceed storage (16M) of be_users.uc field. It is enough to store the uid of the according be_groups entity. Resolves: #86361 Releases: master, 9.5, 8.7 Change-Id: I61ba4993d9594b1074546255e7d5c2d5506819fb Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61117 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
Alexander Schnitzler <review.typo3.org@alexanderschnitzler.de> Tested-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Reviewed-by:
Julian Geils <j_geils@web.de> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Alexander Schnitzler <review.typo3.org@alexanderschnitzler.de> Reviewed-by:
Benjamin Franzke <bfr@qbus.de>
-
- Jul 14, 2019
-
-
Andreas Fernandez authored
With #87324 some code of FormEngine was moved into separated modules. In the very same patch, most of the code was rewritten to use native JavaScript as much as possible. However, with this change, `TBE_EDITOR.fieldChanged()` was partially broken as it uses jQuery's `triggerHandler` method to trigger a specific event. Events that are registered via jQuery's `on()` method work fine, but the approach is incompatible with JavaScript's native `addEventListener()` introduced in the mentioned change. As a quick fix, `TBE_EDITOR.fieldChanged()` now triggers the same event for native JavaScript code via `dispatchEvent()`. Resolves: #88738 Related: #87324 Releases: master Change-Id: I38fbb97f86f6765a45ad763c27e7afdac5754b1c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61278 Tested-by:
TYPO3com <noreply@typo3.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>
-
Benni Mack authored
The property "vanillaParentPageTca " inside FormEngine is never used - also documented that it was never used before. The property is therefore removed. Resolves: #88669 Releases: master Change-Id: I71166ea44764d8bdc4b0c309a43f45f46309780f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61207 Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Björn Jacob <bjoern.jacob@tritum.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-
Georg Ringer authored
If a table is defined as readonly, the controls should not be visible in the record list. The DataHandler respects already the setting but the UI did miss it. Resolves: #88708 Releases: master,9.5 Change-Id: I22db9f613b9c63e3b0e3fcffba9989089c0e7bc2 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61243 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Julian Geils <j_geils@web.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Julian Geils <j_geils@web.de> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Reviewed-by:
Guido Schmechel <guido.schmechel@brandung.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- Jul 13, 2019
-
-
Benni Mack authored
In DocumentTemplate there is always one header call to define that everything is HTML and UTF-8. Since we do PSR-7 in Backend Context, this should be handled by the Response object, which we already do. This should normally be a bugfix for existing stable versions, although I'm very unsure on how this could affect any side-effects where extensions rely on this behavior for years (!) already, so this is master-only. OTOH this change should not affect anything in regular BE modules as they work with PSR-7 since TYPO3 v7 already. Resolves: #88743 Releases: master Change-Id: I20fb4844ca661c47eb1d56b6d20a8f2c58b17796 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61285 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de>
-
Guido Schmechel authored
Correction of the example regarding the user ID. Resolves: #88723 Releases: master, 9.5 Change-Id: I1823377c72997ec20bc36b3689e46fe16ded9127 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61282 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Björn Jacob <bjoern.jacob@tritum.de> Tested-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Björn Jacob <bjoern.jacob@tritum.de> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de>
-
Anja Leichsenring authored
Adjusted tenses, unified sentence structure, adjusted code highlightning. Resolves: #88745 Releases: master, 9.5 Change-Id: I8accf6340be6c683220be950efb60c602344e05a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61287 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Björn Jacob <bjoern.jacob@tritum.de> Tested-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Björn Jacob <bjoern.jacob@tritum.de> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de>
-
Benjamin Franzke authored
Transform InfoModuleController and it's dependency ModuleTemplate into a symfony manageed services to retrieve dependencies from symfony instead of GeneralUtility::makeInstance. ModuleTemplate is a prototype and is therefore marked shared: false. It is marked public: true so legacy calls to GeneralUtility::makeInstance(ModuleTemplate::class) resort to the container and properly inject dependencies. Also add a backend.controller symfony tag, to be universally applied for backend controllers. This tag automatically configures the controller to be publicly available from $container->get() which allows the route dispatcher to lazily instantiate the controller. Releases: master Resolves: #88721 Change-Id: I076c306736243e693542f2774dbe1108e28fe731 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61246 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Jörg Bösche <typo3@joergboesche.de> Tested-by:
Steffen Frese <steffenf14@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Steffen Frese <steffenf14@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Andreas Fernandez authored
The ImportExportController is responsible for exporting and importing data, which is a bit too much. In order to streamline the import/export functionality, the controller has been split into two controllers. Due to this, the route to the ImportExportController has no effect anymore, but is kept for bc reasons. Resolves: #88662 Releases: master Change-Id: If2beb9da8d65b6a054b616832712017df2a9c6b2 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61202 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Jörg Bösche <typo3@joergboesche.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Daniel Windloff authored
The usage has been deprecated in TYPO3 v9. Related: #87354 Resolves: #88733 Releases: master Change-Id: I4594adb2ba0885c4a2094c0a6108902165e26138 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61275 Tested-by:
TYPO3com <noreply@typo3.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>
-
Gerrit Mohrmann authored
In TYPO3\CMS\Frontend\Hooks\FrontendHooks->displayPreviewInfoMessage() is now checked, that the config.disablePreviewNotification is set. Resolves: #88653 Releases: master, 9.5 Change-Id: I0fc81b3aa40f46189cbb90854a401c806e5b25a2 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61171 Tested-by:
Benjamin Franzke <bfr@qbus.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Julian Geils <j_geils@web.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Benni Mack authored
This patch re-arranges the TYPO3 Core internally used middlewares for lifting off the weight of $GLOBALS['TSFE'] as Site Handling already introduced a lot of functionality which can now be utilized further. For this reason, the Frontend Rendering chain has been adapted. * If there is a "Site" + "Language" resolved, this information can be used directly, as there are no dependencies currently. * Frontend + Backend User Authentication works regardless of TSFE, Frontend User is added to the Request object as attribute to be added to TSFE later-on. * Resolving the Page ("slug") and mapping them to Page Arguments (URL parts + GET parameters) as well as validation against cHash is fully decoupled from TSFE. After that, TSFE is instantiated, which now gets all resolved objects injected. TSFE now only resolves the rootline against the proper permissions (auth) and validates the final page. Once done, TypoScript is compiled / cached. TSFE still contains the rootline, TypoScript, and the information about which non-cacheables are there. RequestHandler creates or fetches cached content, but currently piped through TSFE. This should be simplified further later-on. Resolves: #88717 Releases: master Change-Id: I12807455fd8b01493b2da45cf73a5c532b108cbe Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61155 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Benni Mack authored
cHash is now added automatically when a URL is generated. The relevant query parameters when indexing are stored in "static_page_arguments", which allows to remove the database field "cHashParams". Therefor it is not necessary anymore to configure if cHash should be taken into account when creating a configuration for indexed search. Instead, when linking to a page on a search result, the page arguments are added. In addition, when pages are indexed, only the static page arguments are evaluated. Debug Information when indexing is also adding data more sensibly via json_encode/decode. Effectively, this means that specific handling for cHash resolving is fully removed from EXT:indexed_search. Related: #87193 Resolves: #88741 Releases: master Change-Id: I84738612d42615a3ac24d271c5509b52467d81af Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61284 Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
- Jul 12, 2019
-
-
Daniel Windloff authored
The method "localizationRedirect" in PageLayoutView, DatabaseRecordList and EditDocumentController were almost equal. The usage has been streamlined and the methods in PageLayoutView and DatabaseRecordList has been removed. Resolves: #88724 Releases: master Change-Id: I9c458e16d10c61c54e81bee61fc64aad675ac130 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61249 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Jörg Bösche <typo3@joergboesche.de> Tested-by:
Frank Naegler <frank.naegler@typo3.org> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Frank Naegler <frank.naegler@typo3.org> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-
Andreas Fernandez authored
The removed code in tbe_editor.js as in #88667 contained some special handling for invalid forms. In case a form was considered invalid, a modal was rendered explaining to check the form. This code is now added again in FormEngine's validation module as a DocumentSaveAction callback. Resolves: #88728 Related: #88667 Releases: master Change-Id: I221da830ac33a2f92480bdc933374850bcc35c11 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61273 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Jörg Bösche <typo3@joergboesche.de> Tested-by:
Frank Naegler <frank.naegler@typo3.org> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Frank Naegler <frank.naegler@typo3.org>
-
Simon Gilli authored
The function merge of TYPO3\CMS\Core\Configuration\Loader\YamlFileLoader is moved to TYPO3\CMS\Core\Utility\ArrayUtillity to have it globally available. Resolves: #88652 Releases: master Change-Id: Icf200c89edb572ea2424ae0bcf8292e6dbb3de6a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61168 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Jan Stockfisch <typo3@jan-stockfisch.de> Tested-by:
Frank Naegler <frank.naegler@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Jan Stockfisch <typo3@jan-stockfisch.de> Reviewed-by:
Frank Naegler <frank.naegler@typo3.org>
-
Sascha Egerer authored
The YouTube renderer added options to the YouTube url that do not have any effect anymore as they are deprecrated since ages. Resolves: #87914 Releases: master, 9.5, 8.7 Change-Id: I80bf26040634e11c31b984395e0c9238de89e1e8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60249 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Julian Geils <j_geils@web.de> Tested-by:
Steffen Frese <steffenf14@gmail.com> Tested-by:
Jörg Bösche <typo3@joergboesche.de> Tested-by:
Frank Naegler <frank.naegler@typo3.org> Tested-by:
Tobi Kretschmann <tobi@tobishome.de> Reviewed-by:
Julian Geils <j_geils@web.de> Reviewed-by:
Guido Schmechel <guido.schmechel@brandung.de> Reviewed-by:
Steffen Frese <steffenf14@gmail.com> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Frank Naegler <frank.naegler@typo3.org> Reviewed-by:
Tobi Kretschmann <tobi@tobishome.de>
-
Frank Naegler authored
This patch removes a compiled JS file which TypeScript source was removed some weeks ago with #88518 Resolves: #88735 Related: #88518 Change-Id: I28044e1b40bc154abc15b6d272d44310b8a1acf4 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61276 Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Steffen Frese <steffenf14@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Steffen Frese <steffenf14@gmail.com> Tested-by:
Benni Mack <benni@typo3.org>
-
Andreas Fernandez authored
With #88665 some JavaScript code and superfluous event "registration" was removed. It turns out that the event stuff was not that superfluous and is still required with the Link Browser to properly update the field values. Resolves: #88729 Related: #88665 Releases: master Change-Id: I78a5e65f42a978245e31d478b83d82949c26ac17 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61272 Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Frank Naegler <frank.naegler@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Reviewed-by:
Frank Naegler <frank.naegler@typo3.org>
-
Daniel Windloff authored
* Add a message for the user * Adjust context menu to new route * Split functionality in an own controller class Resolves: #88718 Releases: master Change-Id: Ibb96e4f5770004be54fee0f50a335db8f3282759 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61245 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Steffen Frese <steffenf14@gmail.com> Tested-by:
Jörg Bösche <typo3@joergboesche.de> Tested-by:
Tobi Kretschmann <tobi@tobishome.de> Reviewed-by:
Steffen Frese <steffenf14@gmail.com> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Tobi Kretschmann <tobi@tobishome.de>
-
Ricky authored
This patch adds a fieldname parameter to the DataHandler localize translateToMessage hook. The fieldname helps hook objects to identify the currently processed field. Thus based on the field, the hook can make some decisions on translate. Resolves: #84844 Releases: master, 9.5, 8.7 Change-Id: If7b05f017ed1cdbc777d8cda18fce84f9a01ac04 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/56957 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Tobi Kretschmann <tobi@tobishome.de> Tested-by:
Steffen Frese <steffenf14@gmail.com> Tested-by:
Julian Geils <j_geils@web.de> Tested-by:
Dieter Porth <d.porth@neusta.de> Tested-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Dieter Porth <d.porth@neusta.de> Reviewed-by:
Tobi Kretschmann <tobi@tobishome.de> Reviewed-by:
Steffen Frese <steffenf14@gmail.com> Reviewed-by:
Julian Geils <j_geils@web.de> Reviewed-by:
Jan Stockfisch <typo3@jan-stockfisch.de> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de>
-
- Jul 11, 2019
-
-
Benni Mack authored
The global state array "T3_VAR" for keeping some legacy functionality has been removed. It is not in used by TYPO3 Core anymore, the last occurrence for "injecting" some data into Indexed Search indexing has been removed, as SingletonInterface, hooks and the possibility to provide ones' own indexer for custom download extensions should be used instead. Resolves: #88660 Releases: master Change-Id: I5a587271983c6bb4ae6709c0140e818c4c1eb572 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61197 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Steffen Frese <steffenf14@gmail.com> Tested-by:
Jörg Bösche <typo3@joergboesche.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Steffen Frese <steffenf14@gmail.com> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
Benjamin Franzke authored
This feature is a combined approach using two containers/concepts: 1) symfony/dependency-injection (now exposed as official TYPO3 API): Supports: autoconfiguration, autowiring using Service.{yaml,php} files 2) service providers (fork of the experimental interfaces in container-interop/service-provider, sometimes called PSR-11+) Supports: factory-style configuration using plain php code provided for internal use and possible future public use. 1) Symfony dependency injection is provided to be used by extensions and throughout the TYPO3 core for (auto)wiring of services (classes). Extensions can control symfony's dependency injection use a file located in Configuration/Services.yaml, if they need more flexibility they may also use Configuration/Services.php which can use symfony's ContainerConfigurator or ContainerBuilder. 2) Service providers are used (within TYPO3 core) to provide dependency injection for services used in the install tool which require failsafe boot. This is based on container-interop/service-provider. container-interop/service-provider is supposed to become a PSR but is still marked experimental, therefore this commit adds an implementation to TYPO3 provided for internal use only – it is not public API. We do still include it (as @interal fork) right now, to adapt to this upcoming PSR from the very beginning, in order to actually push the development of this proposal forward. Service providers in failsafe mode are consumed by a simplistic, non-compiled container. Symfony's container is too slow when running uncached (as the compilation, recursive directory lookups and autowiring needs to be performed on every invocation). We do not want caching for recovery maintenance tasks which would not be able to recover from scenarios with broken caches. Services that are configured through service providers, are both available in the non compiled install tool container and in the symfony container. They do *not* need to be defined twice. The two "worlds" are bridged using a ServiceProviderCompilerPass which creates symfony DI definitions from service-provider factories. The code is a derivative of the code from the (outdated) symfony bundle thecodingmachine/service-provider-bridge-bundle. Features -------- * inject* methods are now supported for all classes (not just Extbase) It is suggested to use constructor based injection, this feature is available to provide maximum compatibility to the old Extbase DI. * Autoconfiguration based on interface implementation. (current) autoconfigured interface are: SingletonInterface, MiddlewareInterface, RequestHandlerInterface, LoggerAwareInterface, ControllerInterface, ViewHelperInterface (we expect more to follow in subsequent commits) Included adaptions ------------------ In order to demonstrate and to be able to verify the features of this patch, some classes are adapted to use or support dependency injection: * RedirectHandler/RedirectService autowired/autoconfigured * Application classes and their dependencies are manually wired in service providers. This is required as the application runs in fail- safe mode when there is no configuration available (first install) * MiddlewareStack is composed in service providers and injected as a RequestHandler into the Http\Application classes (in order to prevent injecting the Container, which would be an anti pattern). * Middleware configuration is treated as service (like a registry), and retrieval is provided through service providers (the service providers default to the existing middleware configuration format) * The Middleware dispatcher now first tries to retrieve classes from the PSR-11 container, falling back to makeInstance if not available * Dependency Injection using symfony for all core Extbase Controllers * A Services.yaml is added for each core extension which contains classes that are used in frontend/backend context * A LateBoot service is added for install tool DI vs ext_localconf – loading order, legacy makeInstance support ---------------------------------------------------------------- Dependency Injection containers solve most of the tasks that ext_localconf.php and GeneralUtility::makeInstance solve for Singletons: Service configuration and instance management. (Symfony) DI could therefore be used to replace both in the long run. Both are doing similar tasks when talking about Singletons: They create and configure services that are stored and shared in a central memory storage (container for DI, GU::$singletonInstances for our legacy TYPO3 case). That means they both actually conflict right now – in terms of: Who is responsible for creating a class? We've made a decision to connect these both: GeneralUtility::makeInstance will offload instantiation to the Container if the class is a) available and b) no runtime constructor arguments have been passed to makeInstance (which symfony DI doesn't support). The DI container itself does provides backwards compatibility to XCLASSES and class aliases use a new internal helper method makeInstanceForDi. ext_localconf's main design flaw is the mixture of initialization and configuration composition without assurance that all configuration is available before a configuration-dependent class is instantiated. Proper DI first reads all configuration and then performs all service injections on demand and pre calculated using a dependency tree – and therefore always in proper sequence. What we *don't* want (+ reasons) ------------------------------- * Symfony Bundles pro: provide a defined way for container configuration) con: Requires the Symfony HTTP kernel which is not compatible with PSR7 * Usage of Symfony\DependencyInjection\ExtensionInterface con: It is not useful as it cannot add new compiler passes * Handling of prototypes that need dependency injection *and* a way to to get custom constructor arguments passed (individual per class) While symfony DI can handle prototypes (called 'shared: false'), it does not support passing constructor arguments like the Extbase object manager does. We'll advocate to using a factory pattern for those prototypes instead. * Circular dependencies: This is not supported by symfony DI and isn't possible with service providers either Future changes (left out for brevity) ------------------------------------- * (cli) Build tool to warmup DI cache/state during deployment * Adaptions to (all) core dispatchers to prefer a PSR-11 container over GeneralUtility::makeInstance Dependency changes ------------------ composer require symfony/dependency-injection:^4.1 symfony/config:^4.1 Releases: master Resolves: #88689 Resolves: #84112 Change-Id: I8efd817066b528a5953c56fdd027cb94b2bb8eb3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/58255 Tested-by:
Tobi Kretschmann <tobi@tobishome.de> Tested-by:
Jörg Bösche <typo3@joergboesche.de> Tested-by:
Alexander Schnitzler <review.typo3.org@alexanderschnitzler.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Tobi Kretschmann <tobi@tobishome.de> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Alexander Schnitzler <review.typo3.org@alexanderschnitzler.de> Reviewed-by:
Benjamin Franzke <bfr@qbus.de>
-
Georg Ringer authored
The TypoScript which is created by the Install Tool should use the new @import syntax. Resolves: #88623 Releases: master, 9.5 Change-Id: I661cbe7bbc659c6ea804f4b131aa49fc7abca92a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61244 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Josef Glatz <josefglatz@gmail.com> Tested-by:
Jörg Bösche <typo3@joergboesche.de> Tested-by:
Björn Jacob <bjoern.jacob@tritum.de> Tested-by:
Steffen Frese <steffenf14@gmail.com> Tested-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Josef Glatz <josefglatz@gmail.com> Reviewed-by:
Jörg Bösche <typo3@joergboesche.de> Reviewed-by:
Björn Jacob <bjoern.jacob@tritum.de> Reviewed-by:
Steffen Frese <steffenf14@gmail.com> Reviewed-by:
Dieter Porth <d.porth@neusta.de> Reviewed-by:
Julian Geils <j_geils@web.de> Reviewed-by:
Benjamin Franzke <bfr@qbus.de>
-