Packages/TYPO3.CMS.git
3 months ago[TASK] Fixed links to issues in Changelog
Robert Vock [Sat, 19 Jun 2021 07:14:46 +0000 (07:14 +0000)]
[TASK] Fixed links to issues in Changelog

Some documentation files containted incorrect :issue:`#XXXX` links
instead of :issue:`XXXX` (without #).

Releases: master
Resolves: #94385
Change-Id: I1946426e8c5464d890b62238cd863a314cc8a0e5
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69532
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Avoid ObjectManager in ext:form FormRuntime
Christian Kuhn [Thu, 17 Jun 2021 21:13:02 +0000 (23:13 +0200)]
[TASK] Avoid ObjectManager in ext:form FormRuntime

Most ObjectManager->get() calls in FormRuntime can
be moved to makeInstance() directly without further
impact. For FormFactoryInterface, a b/w compat layer
is established, but shouldn't be problematic since
this will be ArrayFormFactory in almost all cases.

Change-Id: I354d582260307986cb386506fa5e006646ca816a
Resolves: #94370
Related: #90803
Releases: master
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69515
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Allow CSV Export per table in list module
Benni Mack [Thu, 17 Jun 2021 14:44:39 +0000 (16:44 +0200)]
[TASK] Allow CSV Export per table in list module

This change moves the CSV Export in the header of each
table within the record list.

This contains multiple UX improvements:

* CSV Exports are now possible in each list view, not just
  in single table view
* CSV Export Buttons are visually connected to the actual
  records and the output
* The CSV Button now has a proper label next to the icon
  instead of just an icon in the docheader

In addition, the RecordListController is thinned out as all
logic is separated and moved into a new RecordExportController.

Resolves: #94366
Releases: master
Change-Id: Ia64b513636799368a39b5028b6cad7ebac6fe835
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69512
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Only delete from clipboard on POST requests in recordlist
Oliver Bartsch [Fri, 18 Jun 2021 13:16:55 +0000 (15:16 +0200)]
[TASK] Only delete from clipboard on POST requests in recordlist

This change ensures that deleting selected records (when
clipboard is activated) only happens for POST requests in
the RecordListController.

Also, the given "cmd" argument from the request is not
longer overwritten by the DataHandler command array.

Resolves: #94380
Releases: master
Change-Id: I8c4c728469fd60b9a41dd48c63c46837c9c9dbf2
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69522
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Deprecate extbase ReferringRequest
Christian Kuhn [Thu, 17 Jun 2021 15:11:48 +0000 (17:11 +0200)]
[TASK] Deprecate extbase ReferringRequest

When extbase has been changed to PSR-7 responses,
class ReferringRequest has been nearly obsoleted:
It is only used to be immediately turned into a
ForwardResponse.
To further prepare towards PSR-7 requests, usage of
ReferringRequest which extends extbase Request is
dropped and the class marked as deprecated.

Change-Id: If16c09b0601792f6702fbacee064cd4d514c70c6
Resolves: #94367
Related: #92502
Releases: master
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69513
Tested-by: core-ci <typo3@b13.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Deprecate extbase ObjectManager->getEmptyObject()
Christian Kuhn [Fri, 18 Jun 2021 11:25:08 +0000 (13:25 +0200)]
[TASK] Deprecate extbase ObjectManager->getEmptyObject()

ObjectManager->getEmptyObject() is only used in extbase
persistence DataMapper when domain objects are "thawed":
An existing DB row is fetched and a model object is
created from it.

From extbase PoV, a domain object lifecycle is "creation"
("own a new car"), then eventually "freezing" it in DB,
"thawing" it from DB to update it's state ("washed today,
it's now clean"), and eventually deletion ("brought to
scrapyard, don't own it anymore").

Extbase now says that "thawing" and "creation" are two
different things and thus decided that programmatically,
__construct() on thawed objects should NOT be called,
because, well, it's not new, just thawed! Don't assume
__wakeup() is called instead, though: It's not.

Extbase of course has to hop through quite some loops
to violate this PHP language construct. It even needs
the 3rd party dependency doctrine/instantiator to achieve
suppressing __construct() call, since the previous
'unserialize hack' broke somewhere during PHP 5 times.

Additionally, even though extbase Domain Model objects
*should* be plain old PHP objects, they still allow
inject* methods and are dependency injection aware.

This is a problem when moving away from ObjectManager
towards symfony DI, because symfony does not support
this creative extbase view of supressing __construct()
when instantiating objects.

We can't get rid of this easily in extbase, though.
There is no good way to deprecation-log this behavior. A
feature toggle seems to be overkill - probably not too
many extbase devs are aware of this implementation detail
in the first place, and the impact if __construct() is
properly called when an object is thawed should be relatively
small: First, models are usually relatively stupid in extbase
(which is good, they should be), and if they have a
__construct() method at all, chances are, everything that is
done there is overriden during the following mapping process
anyways.

We thus decided against a feature toggle for this. Instead,
we *keep* the current instantiation logic in v11, just
mark the code places as deprecated, configure the extension
scanner to look for additional getEmptyObject() calls in
extensions, and add a depreation reST file pointing out the
situation and stating __construct() will be called in v12
for thawed objects.

Resolves: #94377
Related: #90803
Releases: master
Change-Id: Ied3da8b9d885be2f635b9bc6c66b37fc9825decc
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69520
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[BUGFIX] Respect offline storages on context menu initialization
Oliver Bartsch [Fri, 18 Jun 2021 08:15:34 +0000 (10:15 +0200)]
[BUGFIX] Respect offline storages on context menu initialization

The FileProvider tries to retrieve the file / folder object
on initialization. In case the requested folder or storage
is temporarily offline, a ResourceDoesNotExistException
is thrown.

This is now fixed by catching the exception an setting
the $record to NULL. This allows to still render the
context menu with the remaining options, such as edit
the storage record or display the records information.

Resolves: #94372
Releases: master, 10.4
Change-Id: I2ef6437b0d6e22462d73c9536433d7dc1914f680
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69517
Tested-by: core-ci <typo3@b13.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[TASK] Extract common site test aspects to trait
Oliver Hader [Wed, 16 Jun 2021 12:01:55 +0000 (14:01 +0200)]
[TASK] Extract common site test aspects to trait

Extracts TypoScript instruction handling to test trait, which enables
to reuse corresponding methods.

Resolves: #94354
Releases: master, 10.4, 9.5
Change-Id: I34f25070d926f1236b1f7bbd623e0060760b0819
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69501
Tested-by: core-ci <typo3@b13.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
3 months ago[BUGFIX] Fix PHP 8.0 issues in EXT:info
Oliver Bartsch [Thu, 17 Jun 2021 12:12:07 +0000 (14:12 +0200)]
[BUGFIX] Fix PHP 8.0 issues in EXT:info

One warning was triggered by an inline JavaScript
assignment, which is unused since at least v9. It's
therefore removed.

Resolves: #94364
Releases: master
Change-Id: I8c680d393ce7449be17e68757aa1bc8698360667
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69511
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[FEATURE] Auto-detect event types on listener services
Larry Garfield [Mon, 14 Jun 2021 21:23:19 +0000 (16:23 -0500)]
[FEATURE] Auto-detect event types on listener services

The 'event:' tag in Services.yaml can be omitted since,
the wiring is done automatically by reflecting the
target method at compile-time.

Resolves: #94345
Releases: master
Change-Id: I58c9072efec3dd70c8d8768dc290cf1aa6543902
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69495
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Benjamin Franzke <bfr@qbus.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
3 months ago[TASK] Avoid ObjectManager in ext:fluid ViewHelperResolver
Christian Kuhn [Wed, 9 Jun 2021 19:11:46 +0000 (21:11 +0200)]
[TASK] Avoid ObjectManager in ext:fluid ViewHelperResolver

Finish the ObjectManager usages in ext:fluid. With #94285
we made the ViewHelperResolver a singleton service, which
is not ok since it holds state: Namespaces are added at
runtime and they additionally depend on request.
The solution is similar to RenderingContext from #94285
though: Have a factory to create fresh instances for
each parsing cycle for this failsafe mode enabled class.
View helper instance prototypes itself are then retrieved
using GeneralUtility::makeInstance().

Resolves: #94292
Related: #94285
Related: #90803
Releases: master
Change-Id: I08018b57e3bd5b293be999d7c5415578604c7897
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69419
Tested-by: core-ci <typo3@b13.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Benjamin Franzke <bfr@qbus.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
3 months ago[BUGFIX] Fix phpstan errors from ReturnTypeRule
Daniel Goerz [Thu, 3 Jun 2021 18:45:05 +0000 (20:45 +0200)]
[BUGFIX] Fix phpstan errors from ReturnTypeRule

EXT:lowlevel
EXT:recordlist
EXT:recycler
EXT:reports
EXT:rte_ckeditor

Resolves: #94265
Releases: master
Change-Id: I4e5e94f3e9f041e4ee8bab93a7ced73077250ee9
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69371
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>
3 months ago[BUGFIX] Fix phpstan errors from ReturnTypeRule
Daniel Goerz [Thu, 3 Jun 2021 18:15:14 +0000 (20:15 +0200)]
[BUGFIX] Fix phpstan errors from ReturnTypeRule

EXT:scheduler
EXT:tstemplate
EXT:workspaces

Resolves: #94266
Releases: master
Change-Id: I60705f3667602575ec841bcc8e5d24a899093a03
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69370
Tested-by: core-ci <typo3@b13.com>
Tested-by: Alexander Schnitzler <git@alexanderschnitzler.de>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Alexander Schnitzler <git@alexanderschnitzler.de>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[TASK] Add ac test for TYPO3 Manual
Jochen Roth [Thu, 17 Jun 2021 08:38:00 +0000 (10:38 +0200)]
[TASK] Add ac test for TYPO3 Manual

Will add a test for Help -> TYPO3 Manual and
it's subpage to see if pages actually loaded

Resolves: #94360
Releases: master
Change-Id: I88296dcb775ed2797d078f6efa9400177d0df990
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69506
Tested-by: core-ci <typo3@b13.com>
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Add acceptance test for EXT:reports module
Jochen Roth [Wed, 16 Jun 2021 15:04:37 +0000 (17:04 +0200)]
[TASK] Add acceptance test for EXT:reports module

This will add a basic acceptance test for
reports module because the page was not loaded
using php 8.0.
Another test is slightly changed to stabilize a
test we had a recent change in.

Resolves: #94358
Related: #94346
Releases: master, 10.4
Change-Id: I1d73e58c1f767799e0e9ecd71db8d41ecdada6b0
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69504
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[BUGFIX] Return ForwardResponse in belog's deleteMessageAction
Andreas Fernandez [Thu, 17 Jun 2021 06:43:30 +0000 (08:43 +0200)]
[BUGFIX] Return ForwardResponse in belog's deleteMessageAction

The action `deleteMessageAction` of the controller
`\TYPO3\CMS\Belog\Controller\BackendLogController` now returns a proper
`ForwardResponse` to keep the desired redirect behavior.

Resolves: #94359
Releases: master
Change-Id: I757aff29b4f6104ef16d3bd5f4b61579fc2f97f1
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69505
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Benni Mack <benni@typo3.org>
3 months ago[BUGFIX] Normalize UTF-8 strings before calling CharsetConverter->specCharsToASCII()
Martin Kutschker [Thu, 13 May 2021 15:38:26 +0000 (17:38 +0200)]
[BUGFIX] Normalize UTF-8 strings before calling CharsetConverter->specCharsToASCII()

The method specCharsToASCII expects its input in Canonical Composition (NFC) otherwise it will produce incorrect results.

The commit also makes sure that a failed normalization (incl. the slug helper) does not lead to data loss.

Resolves: #93883
Releases: master, 10.4
Change-Id: If6decdd9d2980bee11188fffc6b73c81b06b7e6a
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69144
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Richard Haeser <richard@richardhaeser.com>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
3 months ago[TASK] Fix various PHP8 issues
Jochen Roth [Tue, 15 Jun 2021 07:45:34 +0000 (09:45 +0200)]
[TASK] Fix various PHP8 issues

In EXT:rte_ckeditor, EXT:form, EXT:recordlist,
EXT:setup, EXT:backend, EXT:frontend, EXT:reports

Added acceptance test for About and User Settings
module loading

Resolves: #94346
Releases: master
Change-Id: Icbf6c952b51587ed71bbe3fd855d368bf1163147
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69496
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>
3 months ago[TASK] Add customization examples for felogin
Jan Stockfisch [Fri, 28 Feb 2020 08:39:18 +0000 (09:39 +0100)]
[TASK] Add customization examples for felogin

Adds examples of how to override core templates.

Resolves: #90566
Releases: master, 10.4
Change-Id: I09f7b89542cc7f22c56b6689b9e9b6d0d066fc74
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63478
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Improve code tidiness in the logger
Larry Garfield [Tue, 15 Jun 2021 22:04:30 +0000 (17:04 -0500)]
[TASK] Improve code tidiness in the logger

Assorted cleanup and tidying of the Logger system.
There's more to do later but that's for later.

Resolves: #94352
Related: #94356
Releases: master
Change-Id: I0ce949fbdd692a2bb073732d234af76e68757735
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69500
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[BUGFIX] Make logger usage PSR-3 compliant
Larry Garfield [Wed, 9 Jun 2021 18:18:46 +0000 (13:18 -0500)]
[BUGFIX] Make logger usage PSR-3 compliant

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>
3 months ago[TASK] Deprecate extbase StopActionException
Christian Kuhn [Tue, 15 Jun 2021 13:26:32 +0000 (15:26 +0200)]
[TASK] Deprecate extbase StopActionException

There are three possible cases an extbase controller
action can come up with:
a) Return a casual psr-7 response (html, json, ...)
b) Return an extbase specific ForwardResponse to dispatch
   extbase-internally to another action.
c) Have a redirect the client should receive to
   call some other Url.

a) and b) are simple in v11 - the action returns a
PSR-7 ResponseInterface. c) however throws StopActionException
instead, which is caught by extbase Dispatcher and
then returned. This is ugly.

The patch changes this and deprecates the StopActionException.
We can not drop the throw call since that would be breaking,
but we prepare towards a clean v12 solution, which leads to
the sitation that *all* extbase actions return a response.

Resolves: #94351
Releases: master
Change-Id: Ie5a53109959a008ab1666f52d5a81e6e7ba3efdb
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69498
Tested-by: core-ci <typo3@b13.com>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[BUGFIX] Fix PHP 8.0 issues in EXT:setup
Oliver Bartsch [Tue, 15 Jun 2021 10:54:21 +0000 (12:54 +0200)]
[BUGFIX] Fix PHP 8.0 issues in EXT:setup

Resolves: #94348
Releases: master
Change-Id: Ia8c1f5041057f629ea9dfcc3cde6feba5a1cbe2a
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69497
Tested-by: core-ci <typo3@b13.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Richard Haeser <richard@richardhaeser.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[BUGFIX] Fix range handling for eval double
Patrick Schriner [Mon, 10 May 2021 12:34:33 +0000 (14:34 +0200)]
[BUGFIX] Fix range handling for eval double

If a field has a '''double''' eval, '''upper''' and '''lower''' range
checks don't work as expected as the value is always cast to an int
before comparison.

Switching to floor and ceil helps with these edge cases while retaining
the casting to int behaviour.

Resolves: #94103
Releases: master,10.4
Change-Id: I28b77e2360b86e27e0297a08c5b6d20e0637a0dd
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69098
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
3 months ago[TASK] Avoid 'meta http-equiv="refresh"' in extbase redirectToUri()
Christian Kuhn [Mon, 14 Jun 2021 15:47:31 +0000 (17:47 +0200)]
[TASK] Avoid 'meta http-equiv="refresh"' in extbase redirectToUri()

"<html><head><meta http-equiv="refresh" ..." is discouraged
by w3.org [1] and should be implemented as server-side 3**
response.
Extbase redirectToUri() already sets 303 (default) and adds
the Location header.
The meta http refresh is obsolete and can be dropped
together with the delay argument.

[1] https://www.w3.org/TR/WCAG20-TECHS/H76.html

Resolves: #94341
Releases: master
Change-Id: Ic3c037b0ee9edbc0eebf9f1b50180ca6c3f98ba2
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69491
Tested-by: core-ci <typo3@b13.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Richard Haeser <richard@richardhaeser.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Richard Haeser <richard@richardhaeser.com>
3 months ago[TASK] Require symfony components with 5.3.0 or higher
Benni Mack [Mon, 14 Jun 2021 15:32:47 +0000 (17:32 +0200)]
[TASK] Require symfony components with 5.3.0 or higher

TYPO3 v11 will require symfony 5.3.0 (and hopefully
further versions once they will be released).

Used composer command:

> composer req -W "symfony/config:^5.3.0" \
"symfony/console:^5.3.0" \
"symfony/dependency-injection:^5.3.0" \
"symfony/expression-language:^5.3.0" \
"symfony/finder:^5.3.0" \
"symfony/http-foundation:^5.3.0" \
"symfony/mailer:^5.3.0" \
"symfony/mime:^5.3.0" \
"symfony/property-access:^5.3.0" \
"symfony/property-info:^5.3.0" \
"symfony/routing:^5.3.0" \
"symfony/var-dumper:^5.3.0" \
"symfony/yaml:^5.3.0"

Resolves: #94340
Releases: master
Change-Id: I3777975d144b3424910043f2445d576f885f0e41
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69490
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Benni Mack <benni@typo3.org>
3 months ago[TASK] Deprecate parameter type resolving via doc blocks
Alexander Schnitzler [Tue, 15 Jan 2019 17:07:56 +0000 (18:07 +0100)]
[TASK] Deprecate parameter type resolving via doc blocks

When a ClassSchema is created for a class, all methods inside said
class are analyzed along with their parameters. Ever since extbase
existed, the parameter type has been read from the doc block.

```
/**
 * @param \Foo\Bar\Baz $baz
 */
public function injectBaz($baz);
```

Since the whole reflection api and PHP itself have been improved
in the recent past, parameter types can be detected without looking
at doc blocks. It is recommended to use native type hints as follows:

```
public function injectBaz(\Foo\Bar\Baz $baz);
```

The doc block is neiter needed nor supported in the near future.
Of course, developers may add a doc block but TYPO3 will no longer
evaluate that as of version 12.0.

Releases: master
Resolves: #94115
Change-Id: Ifc68c0cb8a42b8ab589043afbaebf5dd5763eee5
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/59450
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Benni Mack <benni@typo3.org>
3 months ago[DOCS] Fix PHP code example in changelog
Oliver Bartsch [Mon, 14 Jun 2021 15:53:18 +0000 (17:53 +0200)]
[DOCS] Fix PHP code example in changelog

Resolves: #94342
Releases: master, 10.4
Change-Id: Ia3d10d9b934788228ceb7c6ec0d3e1a67474b9f5
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69492
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: core-ci <typo3@b13.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[FEATURE] PHP 8.0 support
Christian Kuhn [Mon, 14 Jun 2021 13:09:59 +0000 (15:09 +0200)]
[FEATURE] PHP 8.0 support

After a long way of fixing our code base to have
all our tests (unit, functional, acceptance tests)
green, TYPO3 now officially runs with PHP 8.0.

TYPO3 v11 LTS thus will support PHP 7.4 and PHP 8.0
(and hopefully PHP 8.1 once the dependencies support PHP 8.1).

There might be a few PHP notices throughout TYPO3 Frontend
and Backend, but all base functionality is now available
for PHP 8.0 as well.

Resolves: #93631
Related: #94057
Releases: master
Change-Id: I5798e6f49ee637b794df096fd44b8157d96b74bc
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69489
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[BUGFIX] Use correct slide direction in MultiStepWizard
Oliver Bartsch [Mon, 14 Jun 2021 11:56:43 +0000 (13:56 +0200)]
[BUGFIX] Use correct slide direction in MultiStepWizard

Bootstrap beta3 introduced a regression, which reversed
the slide direction. This therefore broke our implementation,
since we are using an event listener, evaluating the direction.

Because we were not aware of this being "just" a regression
instead of an intended API change, we switched the direction
in our event listener in #94037, too.

In the final 5.0 release, we updated to in #94089, the regression
has been fixed, breaking our event listener once again.

This is fixed by restoring the initial and correct direction check.

Related bootstrap PRs:

- https://github.com/twbs/bootstrap/pull/32913
- https://github.com/twbs/bootstrap/pull/33499

Resolves: #94338
Releases: master
Change-Id: I0bc4dc2dfd37935fc43e04f311bd850916c31004
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69486
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Nikita Hovratov <nikita.h@live.de>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Nikita Hovratov <nikita.h@live.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Raise typo3/testing-framework:^6.8.4
Christian Kuhn [Mon, 14 Jun 2021 11:44:19 +0000 (13:44 +0200)]
[TASK] Raise typo3/testing-framework:^6.8.4

Acceptance tests now properly configure graphics
magick, so image generation works for them. This
triggeres different and more relevant code paths.

composer req --dev typo3/testing-framework:^6.8.4
composer req --dev typo3/testing-framework:^6.8.4 -d typo3/sysext/core --no-update

Change-Id: I65dd2061c13479fb031373973860d3204dfe4bbf
Resolves: #94339
Releases: master, 10.4
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69484
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[BUGFIX] Remaining PHP 8.0 fixes for acceptance tests
Christian Kuhn [Sat, 12 Jun 2021 22:16:42 +0000 (00:16 +0200)]
[BUGFIX] Remaining PHP 8.0 fixes for acceptance tests

This fixes a bunch of PHP 8.0 warnings found by acceptance
testing. image processing and ext:scheduler are affected
for the main part.
This makes the ac test suite green with PHP 8.0. The
gitlab activation and another testing-framework raise
will follow with dedicated patches.
The patch brings an additional acceptance test for
install tool 'Environment->Image Processing' since
this worked well to nail lots of issues with
GifBuilder and friends.

Change-Id: Id22c7636da76778b75f087d20d7b7260cd2637ee
Resolves: #94333
Related: #94057
Releases: master
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69476
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: core-ci <typo3@b13.com>
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>
3 months ago[TASK] Deprecate HTTP headers manipulating methods in HttpUtility
Oliver Bartsch [Fri, 11 Jun 2021 20:42:23 +0000 (22:42 +0200)]
[TASK] Deprecate HTTP headers manipulating methods in HttpUtility

Following methods in HttpUtility are deprecated, since
they call `die()` / `exit()` and furthermore directly
manipulate the HTTP header via `header()`.

- `redirect()`
- `setResponseCode()`
- `setResponseCodeAndExit()`

Resolves: #94316
Releases: master
Change-Id: Ica1970baf43c7cccb70b3564b229c882c1fe493c
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69464
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>
3 months ago[BUGFIX] Fix typing issues in various backend controllers
Benni Mack [Tue, 22 Dec 2020 15:12:34 +0000 (16:12 +0100)]
[BUGFIX] Fix typing issues in various backend controllers

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>
3 months ago[BUGFIX] Adapt to error_reporting level with PHP 8 STFU operator
Christian Kuhn [Sat, 12 Jun 2021 20:06:26 +0000 (22:06 +0200)]
[BUGFIX] Adapt to error_reporting level with PHP 8 STFU operator

The @ error control operator suppresses all errors raised by
the expression, right? Well ...

If an error handler has been registered, and an error is
raised by an @-prepended expression, the error handler
is still called with this error.

The TYPO3 core error handler thus detects if the error comes
from an @-prepended expression to not log / throw. In PHP < 8.0,
this can be achieved by checking error_reporting() === 0. With
PHP >= 8.0, the @ error control operator has been changed
to not suppress fatal PHP errors anymore, which in turn
changed the error_reporting() level to 4437 for an error
raised "inside" an @-prepended expression.

Adapt core to deal with the PHP 8 variant, too.

See also:
https://www.php.net/manual/en/language.operators.errorcontrol.php#125938

Resolves: #94329
Related: #94057
Related: #94269
Releases: master
Change-Id: Ie926685349beae3bdc9edbb288bc674d3115a64c
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69475
Tested-by: core-ci <typo3@b13.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Benni Mack <benni@typo3.org>
3 months ago[TASK] Raise typo3/testing-framework:^6.8.3
Christian Kuhn [Sun, 13 Jun 2021 01:50:19 +0000 (03:50 +0200)]
[TASK] Raise typo3/testing-framework:^6.8.3

Brings a composer conflict setting to prevent incompatible
doctrine/dbal versions, and an acceptance test related fix.

composer req --dev typo3/testing-framework:^6.8.3
composer req --dev typo3/testing-framework:^6.8.3 -d typo3/sysext/core --no-update

Resolves: #94332
Releases: master, 10.4
Change-Id: Ib1192c5135c02d485c8f28b54755c22a1a50c10f
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69481
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Raise typo3/cms-styleguide:~11.3.0
Christian Kuhn [Sun, 13 Jun 2021 00:37:05 +0000 (02:37 +0200)]
[TASK] Raise typo3/cms-styleguide:~11.3.0

Brings a PHP 8.0 related fix, backend module bug fixes
and features representing more v11 related markup.

composer req --dev typo3/cms-styleguide:~11.3.0
composer req --dev typo3/cms-styleguide:~11.3.0 -d typo3/sysext/core --no-update

Change-Id: I716237ad6256db87f6b6e20081a67fa674c203d5
Resolves: #94331
Releases: master
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69479
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[BUGFIX] Correct ac test file namespace
Christian Kuhn [Sat, 12 Jun 2021 22:39:28 +0000 (00:39 +0200)]
[BUGFIX] Correct ac test file namespace

It's TYPO3\CMS\Core\Tests\Acceptance\Backend\Site\SiteModuleCest
not TYPO3\CMS\Core\Tests\Acceptance\Backend\Redirect\SiteModuleCest

Resolves: #94330
Releases: master, 10.4
Change-Id: I0661feec976aeeddce179d9177e36e729fc0b72d
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69477
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Remove extbase Request controllerSubpackageKey
Christian Kuhn [Sat, 12 Jun 2021 13:10:18 +0000 (15:10 +0200)]
[TASK] Remove extbase Request controllerSubpackageKey

setControllerSubpackageKey(), getControllerSubpackageKey()
and property controllerSubpackageKey of extbase Request
are essentially an artifact from flow and unused in
v11 core. The information is only carried around at
one place but never actively used. This @internal
handling is dropped with the patch.

Change-Id: I546645b58cab351bac408e5772400f9cfe5d7b03
Resolves: #94326
Related: #86521
Releases: master
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69469
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>
3 months ago[TASK] Remove extbase Request isCached() and setIsCached()
Christian Kuhn [Sat, 12 Jun 2021 00:52:00 +0000 (02:52 +0200)]
[TASK] Remove extbase Request isCached() and setIsCached()

To further prepare towards a PSR-7 Request in extbase
we have to get rid of as many setters as we possibly can.

Both methods isCached() and setIsCached() were marked
@internal in v10 and related to extbase internal handling.

Internal usages have been dropped when extbase introduced
PSR-7 Responses with #92502, the methods can be dropped now.

Change-Id: I1b72cef669e4bc6bd75cac855bfb18fa47663b63
Resolves: #94319
Related: #94228
Related: #94231
Related: #94223
Related: #92502
Releases: master
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69466
Tested-by: core-ci <typo3@b13.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
3 months ago[TASK] Avoid ObjectManager around ext:form FormDefinition
Christian Kuhn [Fri, 11 Jun 2021 14:41:06 +0000 (16:41 +0200)]
[TASK] Avoid ObjectManager around ext:form FormDefinition

One of the main classes.
symfony DI does not support having a combination of
constructor arguments plus autowired dependencies. This
needs to be resolved for systems around FormDefinition:

* FormDefinition itself looses its inject* method for
  ObjectManager. It's a class not meant to be sub classed
  by 3rd party extensions. The constructor arguments can
  be kept, FormDefinition is now instantiated using
  makeInstance().
* Domain/Model/FormElements/Page and classes extending this
  class and registering them using implementationClassName
  for a form must not rely on inject* and initializeObject
  methods since they need manual constructor arguments.
  A b/w compat layer detects this and falls back to
  ObjectManager, even though Page is marked as NOT to be
  extended by developers.
* FormRuntime looses its inject* and initializeObject
  methods and is instantiated using makeInstance() keeping
  existing constructor arguments. The class is hardcoded and
  API does not consider overwriting, so no fallback layer.
* Finishers are a bit more tricky: They are often extended
  in projects, reliable b/w compat is needed. They have one
  constructor argument and rely on injection. It's useful
  to keep the injection, so the constructor argument is
  dropped and substituted with a setter called after
  initializations. A compat layer detects not adapted
  classes and falls back to ObjectManager.

Resolves: #94317
Related: #90803
Releases: master
Change-Id: If157457a6bab568e1f8c32a6f09e60dba0b595f4
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69462
Tested-by: core-ci <typo3@b13.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
3 months ago[TASK] Drop two unused variables and a surplus argument
Christian Kuhn [Fri, 11 Jun 2021 22:51:51 +0000 (00:51 +0200)]
[TASK] Drop two unused variables and a surplus argument

Resolves: #94318
Releases: master
Change-Id: I89b74b105c59c9a873b57a6ff3c0a149f888ef94
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69465
Tested-by: core-ci <typo3@b13.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[TASK] Remove unused internal methods from ExtensionManagementUtility
Oliver Bartsch [Fri, 11 Jun 2021 15:10:01 +0000 (17:10 +0200)]
[TASK] Remove unused internal methods from ExtensionManagementUtility

The internal methods `generateItemList()` and `explodeItemList()`
from `ExtensionManagementUtility` are unused since v7 and therefore
now removed.

Resolves: #94314
Releases: master
Change-Id: I6db5cf6e198f7d69ecb58c5ca8dec1e24c9c55a4
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69463
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>
3 months ago[TASK] Deprecate AbstractService
Christian Kuhn [Fri, 11 Jun 2021 12:52:39 +0000 (14:52 +0200)]
[TASK] Deprecate AbstractService

Class TYPO3\CMS\Core\Service\AbstractService as part of
an ancient 'services' API has been rendered unused in
core with #88646. To further streamline the authentication
API and related helper methods, this class is marked
deprecated now.

This shouldn't have much impact for extensions in the
wild, since the API never found many usages apart from
core authentication related concerns.

Resolves: #94313
Related: #88646
Releases: master
Change-Id: I79e303937320f28667814644964acc4aeebd091e
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69461
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: core-ci <typo3@b13.com>
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>
3 months ago[TASK] Remove unused loginSecurityLevel options
Oliver Bartsch [Fri, 11 Jun 2021 12:04:08 +0000 (14:04 +0200)]
[TASK] Remove unused loginSecurityLevel options

Since removing the last remains of EXT:rsaauth in #94279
the `FE/loginSecurityLevel` and `BE/loginSecurityLevel`
options became obsolete and are therefore now removed.

Resolves: #94312
Related: #66997
Related: #87470
Related: #94279
Releases: master
Change-Id: I03231f4ab798165e4820d67dea2cf44e32b8c4fa
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69460
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
3 months ago[TASK] Deprecate GeneralUtility::rmFromList
Oliver Bartsch [Fri, 11 Jun 2021 09:54:11 +0000 (11:54 +0200)]
[TASK] Deprecate GeneralUtility::rmFromList

GeneralUtility::rmFromList is unused since v10. If at
all, this method would better belong to StringUtility.

Therefore, it's now deprecated in GeneralUtility, but
could be reimplemented in a more performant way in
StringUtility, when needed again.

Resolves: #94311
Releases: master
Change-Id: I2ea5ec57143d70fa2a0de2d2c34230764d3ce204
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69459
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
3 months ago[TASK] Deprecate GeneralUtility::stdAuthCode
Oliver Bartsch [Fri, 11 Jun 2021 09:12:05 +0000 (11:12 +0200)]
[TASK] Deprecate GeneralUtility::stdAuthCode

GeneralUtility::stdAuthCode is unused since at least
v9. As more appropriate methods for generating hashes,
e.g. GeneralUtility::hmac() exists nowadays, the method
is deprecated.

Resolves: #94309
Releases: master
Change-Id: I3d3678cd8c8c76462cc74b28f629b6679a4aea93
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69458
Tested-by: core-ci <typo3@b13.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Torben Hansen <derhansen@gmail.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Torben Hansen <derhansen@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[BUGFIX] Fix return annotation of AbstractDomainObject->getUid()
Andreas Fernandez [Fri, 11 Jun 2021 08:45:58 +0000 (10:45 +0200)]
[BUGFIX] Fix return annotation of AbstractDomainObject->getUid()

The method `TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject->getUid()`
is declared to return either an int or null, but the annotation mentions
int only, which may cause issues with static code analysis tools.

Therefore, the annotation is adjusted to reflect both return types.

Resolves: #94305
Releases: master, 10.4
Change-Id: I71e8c407085708c473754a398ae2ecf08126274c
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69457
Tested-by: core-ci <typo3@b13.com>
Tested-by: Torben Hansen <derhansen@gmail.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Torben Hansen <derhansen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[BUGFIX] Replace all-embracing form in recordlist
Oliver Bartsch [Thu, 10 Jun 2021 15:51:47 +0000 (17:51 +0200)]
[BUGFIX] Replace all-embracing form in recordlist

All tables were previously wrapped by one form in
the recordlist. Since #94218 this leads to problems
because all tables now define another form for the
"Show columns" selector. Nested forms are invalid
markup. Therefore, effectively only the first table
was wrapped by the general form. The remaining
tables were not longer wrapped into a form, leading
to problems when using the clipboard actions.

This is now fixed by replacing the all-embracing
form with dedicated forms for each displayed table.

Besides fixing the mentioned problems, this change
results in further improvements:

* The forms are now dedicated to their table
* The "Show columns" selector does not longer
need to define a form itself
* When updating the "Show columns" selection
or when executing a clipboard action, the recordlist
jumps to the correct table after reload, using an
anchor tag
* The clipboard related JavaScript can be simplified
in an follow-up patch

Resolves: #94302
Related: #94218
Releases: master
Change-Id: Ib57abfe7bc9a2c9b6b3919a9ec78c25a87b8f08a
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69453
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
3 months ago[TASK] Cleanup namespace definitions in EXT:impexp templates
Oliver Bartsch [Thu, 10 Jun 2021 19:37:00 +0000 (21:37 +0200)]
[TASK] Cleanup namespace definitions in EXT:impexp templates

This removes an invalid attribute from EXT:impexp
default layout and furthermore removes unnecessary
fluid namespace declarations, since they are defined
globally.

Resolves: #94306
Releases: master
Change-Id: I0ec7181ccc5fb08708257499c969c1d27e783338
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69456
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[TASK] Avoid ObjectManager for ext:form ProcessingRule
Christian Kuhn [Thu, 10 Jun 2021 18:31:36 +0000 (20:31 +0200)]
[TASK] Avoid ObjectManager for ext:form ProcessingRule

Inject a singleton service, makeInstance() prototypes.

Resolves: #94304
Related: #90803
Releases: master
Change-Id: I0645c06a5f5ae2b10f5e14aee08ed01f16720bac
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69455
Tested-by: core-ci <typo3@b13.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Avoid ObjectManager in ext:form TranslationService
Christian Kuhn [Thu, 10 Jun 2021 16:17:53 +0000 (18:17 +0200)]
[TASK] Avoid ObjectManager in ext:form TranslationService

Extbase ConfigurationManager is already configured to
be injectable. Use this in TranslationService.

Resolves: #94303
Related: #90803
Releases: master
Change-Id: I6fa2a2e05a2c7b348b411142e8a44c2dad20c3f7
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69454
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[BUGFIX] Do not render clipboard actions for page translations
Oliver Bartsch [Thu, 10 Jun 2021 11:08:35 +0000 (13:08 +0200)]
[BUGFIX] Do not render clipboard actions for page translations

Recordlist features the clipboard functionality. When activated,
multiple clipboard actions, such as "copy" or "edit marked", are
displayed in each tables' header.

Since translated records can never be selected, this led to
exceptions and JavaScript errors when using such action
on the "Page Translations" table.

This is now fixed by not rendering those actions for this
special table.

Resolves: #94296
Releases: master, 10.4
Change-Id: I47459cf1d82d90f634a4f8902ea04c958cbd1bdc
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69427
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[TASK] Remove possibility to use ext:rsaauth
Torben Hansen [Fri, 4 Jun 2021 12:54:48 +0000 (14:54 +0200)]
[TASK] Remove possibility to use ext:rsaauth

Usage of FriendsOfTYPO3/rsaauth is pretty low and there
is no reason to support the extension any more in TYPO3 11.

This patch removes all ext:rsaauth related code.

Resolves: #94279
Releases: master
Change-Id: I8e318bcc3c04fcc66a033507d0dddb931529c17d
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69397
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[BUGFIX] Restore clipboard initialization behaviour in recordlist
Oliver Bartsch [Thu, 10 Jun 2021 15:02:50 +0000 (17:02 +0200)]
[BUGFIX] Restore clipboard initialization behaviour in recordlist

This fixes a regression introduced in #94057,
which effectively removed the possibility to
toggle the clipboard in the recordlist.

Resolves: #94301
Related: #94057
Releases: master
Change-Id: I6d6ffe9a33bd96f8a41c3f23f3367cf750d29472
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69452
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Add link to "Show all versions" view for installed extensions
Oliver Bartsch [Thu, 10 Jun 2021 12:20:08 +0000 (14:20 +0200)]
[TASK] Add link to "Show all versions" view for installed extensions

Besides all available versions of a TER extension,
the "Show all versions" view in EXT:extensionmanager
also displays general information such as the category
or the dependencies, making it more or less an extension
detail view.

Since those information are also relevant for already
installed extensions, it's now possible to access this
view in the "Installed extensions" list, using a new
link on the extensions' version string.

Resolves: #94298
Releases: master
Change-Id: Iab131e5494f143315abd607de1a79f5f0571a2dc
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69429
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Avoid ObjectManager->get() for ext:form FormPersistenceManagerInterface
Christian Kuhn [Thu, 10 Jun 2021 13:28:42 +0000 (15:28 +0200)]
[TASK] Avoid ObjectManager->get() for ext:form FormPersistenceManagerInterface

Register an implementation and adapt consumers.

Resolves: #94300
Related: #90803
Releases: master
Change-Id: I43117cf3094e0784d05c97d7f28f3365d12bd1f9
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69431
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Remove forgotten upgrade wizard in ext:form
Christian Kuhn [Thu, 10 Jun 2021 12:48:44 +0000 (14:48 +0200)]
[TASK] Remove forgotten upgrade wizard in ext:form

An install tool upgrade wizard slated for removal has been
forgotten during v11.0 cleanup: FormFileExtensionUpdate has
been added for upgrade to v9 (and even backported to v8),
has then been kept for update to v10 and can be removed now.

Resolves: #94299
Releases: master
Change-Id: I882e7ef3926895bcc1e455bc2c0cda287c822680
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69430
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Avoid ObjectManager->get() for ext:form TypoScriptService
Christian Kuhn [Thu, 10 Jun 2021 11:09:47 +0000 (13:09 +0200)]
[TASK] Avoid ObjectManager->get() for ext:form TypoScriptService

Make ext:form TypoScriptService injectable and adapt
consumers. Fixes a broken $this->objectManager call
from #94093 in ConfigurationManager.

Resolves: #94297
Related: #90803
Related: #94093
Releases: master
Change-Id: Ideaa5b0828d3148ba9cbd7287ab50ed51079ce21
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69428
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[BUGFIX] Remove an obsolete Services.yaml definition
Christian Kuhn [Thu, 10 Jun 2021 10:35:45 +0000 (12:35 +0200)]
[BUGFIX] Remove an obsolete Services.yaml definition

The namespace of core TypoScriptService is
TYPO3\CMS\Core\TypoScript, not TYPO3\CMS\Core\Service.

The entry is thus obsolete and can be dropped. The
service with correct name is already handled by ext:core
ServiceProvider.php.

Change-Id: Ia4a3ef02dd3490547a9379ad57930afdd974a2de
Resolves: #94295
Related: #94093
Releases: master
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69426
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
3 months ago[BUGFIX] Always return unique field list
Oliver Bartsch [Wed, 9 Jun 2021 22:34:59 +0000 (00:34 +0200)]
[BUGFIX] Always return unique field list

The method DatabaseRecordList::makeFieldList()
creates a list of fields to select for a table. Since
selector.

This method however automatically adds some
management fields, such as `crdate`. As those
fields may also be included in TCA `columns`,
e.g. for sys_redirects since #94143, they may
be added multiple times, which leads to different
errors.

This is now fixed by applying array_unique to the
final field list.

Resolves: #94294
Releases: master
Change-Id: I6e5cefaa4fb5d5a3dff9581105d19618143c1e79
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69424
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
3 months ago[BUGFIX] Keep preview info on forwarding in EditDocumentController
Oliver Bartsch [Tue, 8 Jun 2021 13:18:35 +0000 (15:18 +0200)]
[BUGFIX] Keep preview info on forwarding in EditDocumentController

The "View" respectively "Save & View" functionality of
EditDocumentController is as following:

1. Clicking the corresponding button saves the form and
a JavaScript event handler opens a new blank window

2. After the data was persisted, the form reloads and
the preview code (using the ImmediateAction component)
is written to the module body. This update the previously
opened window with the correct preview URL.

However, since #94114, a redirect is performed as soon
as the data has been persisted. This is done to ensure
persisting is only done for POST requests. Since the
information whether the form was stored using the "View"
respectively "Save & View" is not forwarded in the redirect,
the new window remains blank.

This is now fixed by adding the corresponding information
to the redirect URL. Also a now unnecessary code block in
processRequest() is removed.

Resolves: #94287
Releases: master
Change-Id: I4f9be3fb286a6cdfe6e1d3e071eb0c6df0801f5e
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69415
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Richard Haeser <richard@richardhaeser.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Richard Haeser <richard@richardhaeser.com>
3 months ago[BUGFIX] Fix still more undefined variables
Larry Garfield [Thu, 3 Jun 2021 21:16:47 +0000 (16:16 -0500)]
[BUGFIX] Fix still more undefined variables

Manual testing found a bunch more cases of undefined variables that
need to be addressed.

Resolves: #94057
Releases: master
Change-Id: I0f602d2de5fcfdc8b41545eafacc5ff79bbfdf86
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69393
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Richard Haeser <richard@richardhaeser.com>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Richard Haeser <richard@richardhaeser.com>
3 months ago[TASK] Remove "sha1" from sys_file searchFields
Guido Schmechel [Fri, 4 Jun 2021 19:03:37 +0000 (21:03 +0200)]
[TASK] Remove "sha1" from sys_file searchFields

To avoid confusion for the editor, the "sha1" field
is now removed from the searchFields of sys_file.

Those who wish to continue searching this field can
adapt the corresponding TCA via TCA overrides.

Resolves: #94273
Releases: master, 10.4
Change-Id: I8b2676c868e97e67b5fa453fa53658fcadae9ce8
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69399
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Sort extension list by update state
Oliver Bartsch [Fri, 4 Jun 2021 20:02:00 +0000 (22:02 +0200)]
[TASK] Sort extension list by update state

Extension updates are important, since they may
contain security fixes. Therefore, in non-composer
based installations, the extension listing in the
EXT:extensionmanager "Installed extensions" view
is now always sorted by the extensions' update state,
as soon as one extension can be updated.

For composer based projects, the behaviour does not
change, since updating extensions is usually done
via CLI and chaning the sorting can still be done
manually in the module.

Resolves: #70157
Releases: master
Change-Id: I25a28f3b1483ed736872e90e46939f30bca47f7f
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69400
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[BUGFIX] Check if shortcuts' target table still exists
Oliver Bartsch [Tue, 8 Jun 2021 23:08:17 +0000 (01:08 +0200)]
[BUGFIX] Check if shortcuts' target table still exists

The shortcut links in the toolbar contain an icon,
which gets calculated based on the backend module
and the record type, the shortcut was created for.

Since IconFactory->getIconForRecord() is used to
fetch the correct record type icon, the database
row has to be provided. This was previously done
by simply querying the table with an uid constraint.
In case the table, the shortcut was initially created
for, does not longer exist, e.g. since a third-party
extension was removed, this led to an exception.

The database row is therefore now fetched using
BackendUtility::getRecordWSOL(), which checks
if the table is (still) configured in TCA, since this is
anyways a prerequisite for using getIconForRecord()
and for working with shortcuts - Especially when
`record_edit` is the target module.

As a positive side effect of this change, a possible
workspace version is now also taken into account,
when generating the record icon.

Resolves: #94286
Releases: master, 10.4
Change-Id: I1d6e1327f10ad06863ef7f5bb1e3706a3f10bcfe
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69416
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[TASK] Document behaviour of inline parent info in itemsProcFunc
Oliver Bartsch [Wed, 9 Jun 2021 16:13:27 +0000 (18:13 +0200)]
[TASK] Document behaviour of inline parent info in itemsProcFunc

Since #93508 additional information about the
inline parent are available in the $parameters
array of an itemsProcFunc.

Those information are only available in FormEngine
context and not in the DataHandler. This is now
properly documented in the corresponding class.

Resolves: #94290
Related: #93508
Releases: master, 10.4
Change-Id: Id20390b113f1cd9261a2b33413031233524f6623
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69417
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[BUGFIX] Add uid field to fieldDefinitions in EXT:seo
Oliver Bartsch [Wed, 9 Jun 2021 16:52:26 +0000 (18:52 +0200)]
[BUGFIX] Add uid field to fieldDefinitions in EXT:seo

EXT:seo defines two additional types for "Page Overview"
in the info module.

Since the special uid field, which has a special treatment
in PageInformationController, was previously missing, no
view and no edit options were displayed.

Besides the already existing special treatments, in master,
the field is also used to determine the row tag to be used
(either `<th>`or `<td>`). Therefore, the two EXT:seo types
previously always used `<th>`, which leads to all cells were
bold (in at least the chrome browser, due to user agent styles).

This is now fixed by adding the special uid field to the
mod.web_info.fieldDefinitions declaration in EXT:seo.

Resolves: #94291
Releases: master, 10.4
Change-Id: I5c20528008160a2c5d853b6d70cc84e3cf3ad89a
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69418
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[TASK] Log symfony deprecation messages
Benjamin Franzke [Wed, 2 Jun 2021 09:37:56 +0000 (11:37 +0200)]
[TASK] Log symfony deprecation messages

Symfony deprecation messages are prefixed by an @-sign in order to
only be thrown if an explicit error handler for E_USER_DEPRECATED
is registered.

Other than for regular silenced errors, we want these deprecation
messages to be logged in any case, and therefore ignore
the @-sign for E_USER_DEPRECATED errors now.

Releases: master
Resolves: #94269
Change-Id: I2d1fb443ef0bf5d01361f1980ab74b94a116fb1d
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69366
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[BUGFIX] Prevent Uncaught TypeError in Recordlist JavaScript
Oliver Bartsch [Wed, 9 Jun 2021 19:42:34 +0000 (21:42 +0200)]
[BUGFIX] Prevent Uncaught TypeError in Recordlist JavaScript

Since translated records do not contain a checkbox
for the clipboard functionality, we have to check the
element before accessing the "checked" property.

Note: There is still a problem in master, which will
be tackled in a separate patch.

Resolves: #94293
Releases: master, 10.4
Change-Id: I795b99f7112e8ae5d8eef79b6161b19b5bb77e0e
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69420
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[FEATURE] Show Layouts in Info Module
Simon Gilli [Mon, 18 Nov 2019 10:55:28 +0000 (11:55 +0100)]
[FEATURE] Show Layouts in Info Module

This patch introduces a new type for the Pagetree overview
in the info module. It displays the relevant layout fields,
e.g. backend layout and frontent layout, next to an additional
field which contains the actually used backend layout, inherited
from a parent page.

This follows #94210, which already introduced a field information
for the pages.backend_layout field.

This effectively allows an editor to have a detailed overview of
the configured and - more importantly - actually used backend
layouts for a page or even a complete page tree.

Resolves: #89700
Releases: master
Change-Id: I4851cd8133d4dbac9ccc1e0d04b534077729c6cb
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62338
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Richard Haeser <richard@richardhaeser.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Richard Haeser <richard@richardhaeser.com>
3 months ago[TASK] Avoid ObjectManager in ext:fluid RenderingContext
Christian Kuhn [Tue, 8 Jun 2021 10:00:00 +0000 (12:00 +0200)]
[TASK] Avoid ObjectManager in ext:fluid RenderingContext

RenderingContext is a good case for a class that creates
"arbitrary" objects: The PreProcessor class names are
retrieved from global configuration in order to be
instantiated.

This initialization is moved into a (install tool mode
compatible) factory in order to transform ObjectManager
into a fallback layer for PreProcessors that are
not defined in the newer PSR container.
Therefore $container->has() is used prior to $container->get(),
in order to fallback to ObjectManager for objects that can't be
retrieved – due to missing configuration – via ContainerInterface yet.

Resolves: #94285
Related: #90803
Releases: master
Change-Id: I3fd1751b8580de7c8307e9b84da38e1551c2c622
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69412
Tested-by: core-ci <typo3@b13.com>
Tested-by: Benjamin Franzke <bfr@qbus.de>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Avoid assigning unexpected node types in GeneratorClassesResolver
Oliver Hader [Mon, 7 Jun 2021 08:08:56 +0000 (10:08 +0200)]
[TASK] Avoid assigning unexpected node types in GeneratorClassesResolver

`GeneratorClassesResolver` used for the extension scanner preprocesses
`GeneralUtility::makeInstance` calls, transforms class-string values to
their corresponding class-constants and provides a low-level class
instantiation using `new`.

When modifying PHP parser nodes, only expected types shall be used,
which is `ClassConstFetch` instead of `FullyQualified`.

Resolves: #94283
Releases: master
Change-Id: I3a802212dc067c5ced0e03aa2cce6519d5ed1dbd
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69403
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>
3 months ago[BUGFIX] Fix typed property access in ModuleTemplate
Oliver Bartsch [Fri, 4 Jun 2021 09:31:31 +0000 (11:31 +0200)]
[BUGFIX] Fix typed property access in ModuleTemplate

When dumping the ModuleTemplate with DebuggerUtility
a property access exception is thrown, since the
FlashMessageQueue is neither initialized nor declared
as nullable.

This is fixed by initializing the FlashMessageQueue
in the constructor now. This instance can however
still be overwritten by the corresponding setter method.

Resolves: #94276
Releases: master
Change-Id: I64bd52e05cd41112a4edb7cc9629db52a093764b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69395
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[FEATURE] Simplify sharing of backend urls
Oliver Bartsch [Mon, 31 May 2021 15:57:43 +0000 (17:57 +0200)]
[FEATURE] Simplify sharing of backend urls

Atfer a lot of preperation in #93048 and #93988,
it's finally possible to share URLs to TYPO3 backend
modules. Even special modules such as FormEngine.

To ease the use for editors, the ShortcutButton
is extended for a new option. If enabled, which
is the default behaviour, the shortcut button
in the module header is replaced. The new button
allows to open a dropdown with the additional
possibility to copy the URL of the current
page to the operating systems' clipboard. Next
to the already exisiting "Add shortcut" option.

Since those URLs should not contain the user
specific token, the UriBuilder features a new
constant "SHAREABLE_URL". If set as $referenceType
in one of the supporting methods, e.g. buildUriFromRoute(),
an absoulte URL without the token is returned.

To copy the URL to the operating systems' clipboard,
a new web component "CopyToClipboard" is introduced.
This component is added without any dependency to
the URL sharing functionality and can therefore be
freely used for other backend components as well.

For the new button, the font awesome "share-alt"
icon is registered in the IconRegistry.

Resolves: #93921
Releases: master
Change-Id: Id1dcfe1f2af764fbe000659ddb49a7369322d5b6
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69338
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Benni Mack <benni@typo3.org>
3 months ago[FEATURE] Add getModuleTemplate to PageLayoutController
Oliver Bartsch [Fri, 4 Jun 2021 11:36:56 +0000 (13:36 +0200)]
[FEATURE] Add getModuleTemplate to PageLayoutController

This allows to access the ModuleTemplate instance
in PageLayoutController related hooks and therefore
enables extension authors to be more flexible when
manipulating the page module view.

Resolves: #92358
Releases: master
Change-Id: I6f3d370d0c8d730dfcdf631d8516a8691360167b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69396
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
3 months ago[DOCS] Add note about TSconfig behaviour in EXT:linkvalidator
Oliver Bartsch [Mon, 7 Jun 2021 13:29:57 +0000 (15:29 +0200)]
[DOCS] Add note about TSconfig behaviour in EXT:linkvalidator

The EXT:linkvalidator documentation is extended to
include a note about the behaviour and usage of page
TSconfig when recursively checking for broken links.

Resolves: #84887
Releases: master, 10.4, 9.5
Change-Id: I183bc3fdf734db1a871a509fafd6b82d75ea16aa
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69407
Tested-by: core-ci <typo3@b13.com>
Tested-by: Sybille Peters <sypets@gmx.de>
Tested-by: Richard Haeser <richard@richardhaeser.com>
Reviewed-by: Sybille Peters <sypets@gmx.de>
Reviewed-by: Richard Haeser <richard@richardhaeser.com>
3 months ago[BUGFIX] Make translation mode buttons translatable
Oliver Bartsch [Mon, 7 Jun 2021 08:57:32 +0000 (10:57 +0200)]
[BUGFIX] Make translation mode buttons translatable

The translation mode buttons in the localization
wizard are now translatable as the rest of the
wizard.

Resolves: #94277
Releases: master, 10.4
Change-Id: Ie2bbaebbcf5c701a8e3446a3406dece565c2013b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69405
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
3 months ago[BUGFIX] Respect multibyte characters in indexed_search search words
Andreas Fernandez [Fri, 14 May 2021 14:22:31 +0000 (16:22 +0200)]
[BUGFIX] Respect multibyte characters in indexed_search search words

Resolves: #94130
Releases: master, 10.4
Change-Id: I4a0ebef62b3bf80c10b4552ced2d94a584b600b5
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69151
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
3 months ago[TASK] Deprecate Application->run callback
Benni Mack [Tue, 25 May 2021 10:16:00 +0000 (12:16 +0200)]
[TASK] Deprecate Application->run callback

The run() method for all Applications contained
a callback which was added in TYPO3 v7, before
proper solutions for subrequests and a more
streamlined boot process, was in place.

The additional code can now be handled via
PSR-15 middlewares. Therefore, the callback
argument in Application->run() is now marked
as deprecated.

Resolves: #94272
Releases: master
Change-Id: I9fe00e7b3663553dadc1b48b89c3083537206c5e
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69258
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Benjamin Franzke <bfr@qbus.de>
Tested-by: core-ci <typo3@b13.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
3 months ago[TASK] Deprecate GeneralUtility::compileSelectedGetVarsFromArray
Oliver Bartsch [Tue, 1 Jun 2021 22:01:24 +0000 (00:01 +0200)]
[TASK] Deprecate GeneralUtility::compileSelectedGetVarsFromArray

To reduce usages of GeneralUtility::_GP(),
GeneralUtility::compileSelectedGetVarsFromArray()
is deprecated. Its only usage in the core is
adjusted by accessing the PSR-7 Request
instead.

Side note: Actually also the method name is
misleading. Since _GP() is used internally,
also POST data are checked.

Resolves: #94252
Releases: master
Change-Id: Ia3d569dbc9bdb21770e6d5981752f40b2fe59d0c
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69362
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Richard Haeser <richard@richardhaeser.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Richard Haeser <richard@richardhaeser.com>
3 months ago[TASK] Remove outdated comments in ShortcutButtonViewHelper
Oliver Bartsch [Wed, 2 Jun 2021 08:37:06 +0000 (10:37 +0200)]
[TASK] Remove outdated comments in ShortcutButtonViewHelper

While reworking the Shortcut API in #93093, some
arguments in the ShortcutButtonViewHelper have
been deprecated.

However, in #94209 the whole view helper has been
deprecated, which makes the mentioned comments
obsolete. Therefore, and because they might just
confuse developers on upgrading, they are removed.

Resolves: #94268
Releases: master
Change-Id: I5da2dd4193c016e12bcda06f63abcd5b11b53d0a
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69365
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
3 months ago[DOCS] Add Settings.cfg to lowlevel extension
Sybille Peters [Sun, 30 May 2021 19:10:20 +0000 (21:10 +0200)]
[DOCS] Add Settings.cfg to lowlevel extension

Documentation can be generated from the existing README.rst.
A Settings.cfg is necessary so that the title is set.

Online rendering of EXT:lowlevel documentation is now possible.

Resolves: #94238
Releases: master, 10.4
Change-Id: I1f20e7c95b6fa337805b14677640d23262709d34
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69330
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Lina Wolf <112@linawolf.de>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Lina Wolf <112@linawolf.de>
3 months ago[TASK] Enable TypesAssignedToPropertiesRule in phpstan
Daniel Goerz [Sun, 30 May 2021 09:43:07 +0000 (11:43 +0200)]
[TASK] Enable TypesAssignedToPropertiesRule in phpstan

composer req friendsoftypo3/phpstan-typo3 ^0.8.1 --dev

This patch is the next step towards full level 3
compatibility of the TYPO3 core.

Releases: master
Resolves: #94127
Change-Id: I5092ce3a9248a7e5ecba3f42183765c1b1d5b1cc
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69327
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
3 months ago[BUGFIX] Re-allow pages with a trailing slash
Benni Mack [Mon, 10 May 2021 11:03:07 +0000 (13:03 +0200)]
[BUGFIX] Re-allow pages with a trailing slash

This change enables the usage of pages containing a
trailing slash in their "slug" like "/my-page/subpage/"
to be working, and modifies tests to cover this use-case.

The main routing first fetches all records including the trailing slash
(= also fetches pages with a trailing slash in their slug).

The symfony routing then checks for e.g. "/my-page/" at the very end, but will fail
if the page was named "/my-page", and then re-runs the symfony routing
to find the "/my-page" request (same behavior as before).

This change therefore solves two issues:
1. Pages with a slug with a trailing slash are properly resolved
2. Pages with a slug with trailing slash can be also called via "/my-page" and (new)
  pages without a trailing slash can be called WITH the trailing slash (as before)
  keeping maximum backwards-compatibility with RealURL logic.

Resolves: #89091
Releases: master, 10.4
Change-Id: I5b82389f9769284d09d98b9335e11ed60c701896
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64655
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
3 months ago[BUGFIX] No greedy Symfony DI in ext:install
Christian Kuhn [Tue, 1 Jun 2021 17:31:13 +0000 (19:31 +0200)]
[BUGFIX] No greedy Symfony DI in ext:install

We recently added a Services.yaml to ext:install.
This isn't an incredible great idea since the
install tool is designed to work with uncached DI
via ServiceProviders in general.

The config made Symfony scan all classes, but
we need Symfony DI for the backend adapter class only.
The patch reduces Symfony DI registration down to this class.

Resolves: #94250
Related: #94209
Releases: master
Change-Id: I5345e369a1080ddcab5da27ec1ef1c75e48f72d5
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69361
Tested-by: Benjamin Franzke <bfr@qbus.de>
Tested-by: crell <larry@garfieldtech.com>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
Reviewed-by: crell <larry@garfieldtech.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
3 months ago[BUGFIX] Remove duplicated caret and re-add padding
Jochen Roth [Wed, 26 May 2021 11:22:55 +0000 (13:22 +0200)]
[BUGFIX] Remove duplicated caret and re-add padding

* Removes duplicated dropdown caret and use bootstraps
  css caret (gridelement inside/after and finisher)
* Fix preview mode dropdown in workspaces

Resolves: #94198
Releases: master
Change-Id: I7785f3ce21a6ee9773ebcd192b7a6abaded57273
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69266
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>
3 months ago[BUGFIX] Let site configuration recognize configured languages
André Buchmann [Tue, 1 Jun 2021 14:00:57 +0000 (16:00 +0200)]
[BUGFIX] Let site configuration recognize configured languages

Set inlineTopMostParentUid fallback to "null" as "0" is a valid
sys_language. "0" gives false positives in the check which languages
are already defined.

Resolves: #94248
Related: #94057
Releases: master
Change-Id: I7975c0fa91940c502faec25cdbe0b30426300ee5
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69355
Tested-by: core-ci <typo3@b13.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
3 months ago[TASK] Remove a library dependent view helper test
Christian Kuhn [Tue, 1 Jun 2021 15:49:27 +0000 (17:49 +0200)]
[TASK] Remove a library dependent view helper test

The removed unit test mocks the system under test
and checks for specific method calls. The test
relies on AbstractTagBasedViewHelper from
TYPO3Fluid\Fluid which added a feature in 2.7.0.
This fails in core v9 and v10 which allow 2.6
and 2.7. This whitebox test is kinda useless
anyway, so we drop it.

Resolves: #94249
Releases: master, 10.4, 9.5
Change-Id: I70804f2881a84352ca793e7d523531a583a44b34
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69358
Tested-by: core-ci <typo3@b13.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
3 months ago[BUGFIX] Fix phpstan errors from TypesAssignedToPropertiesRule
Daniel Goerz [Sat, 29 May 2021 12:22:21 +0000 (14:22 +0200)]
[BUGFIX] Fix phpstan errors from TypesAssignedToPropertiesRule

* EXT:core

Resolves: #94122
Releases: master
Change-Id: I843e50719c5e5a2c3de425f49eae2f112e0df32f
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69321
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
3 months ago[BUGFIX] Fix allowed value for mail format configuration
André Buchmann [Tue, 1 Jun 2021 09:38:43 +0000 (11:38 +0200)]
[BUGFIX] Fix allowed value for mail format configuration

$GLOBALS['TYPO3_CONF_VARS']['MAIL']['format'] allows to
configure the format for the mails, sent by TYPO3. The
format "txt" does not exist and is therefore replaced
by the correct value: "plain".

Resolves: #94247
Releases: master, 10.4
Change-Id: I55535355f0f708a9e76cdbe1e0cae1583af93bda
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69354
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[BUGFIX] Avoid reloading backend login form for checking HTTP referrer
Oliver Hader [Mon, 31 May 2021 12:23:15 +0000 (14:23 +0200)]
[BUGFIX] Avoid reloading backend login form for checking HTTP referrer

In order to determine whether HTTP referrer headers would be submitted
to server-side backend API, a corresponding "reload" was triggered for
the backend's main login form.

Since the behavior resulted in reduced user experience, the refreshing
mechanism was replaced by an equivalent AJAX endpoint and request.

Resolves: #92293
Releases: master, 10.4, 9.5
Change-Id: I745d266a97135496276437b8eaf9dd206bc5806e
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69336
Tested-by: core-ci <typo3@b13.com>
Tested-by: Michael Telgkamp <michael.telgkamp@mindscreen.de>
Tested-by: Benjamin Franzke <bfr@qbus.de>
Reviewed-by: Michael Telgkamp <michael.telgkamp@mindscreen.de>
Reviewed-by: Benjamin Franzke <bfr@qbus.de>
3 months ago[FEATURE] Customize selectable columns in List module per table
Benni Mack [Tue, 25 May 2021 16:34:19 +0000 (18:34 +0200)]
[FEATURE] Customize selectable columns in List module per table

In prior TYPO3 versions, it was possible to customize the list of fields
to be shown in the list view. This was only possible if the clipboard
was active OR the user was in "single table view", and displayed
in a box at the bottom of the module without any context.

The new field selector is now right at the top of the database table -
and per table - thus, always active and in context with the table.

Via UserTSconfig it is possible to explicitly disable the functionality
for users/groups for all tables or just a specific table.

Example: Disable it for all tables except for sys_category:

   mod.web_list.displayColumnSelector = 0
   mod.web_list.table.sys_category.displayColumnSelector = 1

Resolves: #94218
Releases: master
Change-Id: Ia6db3a18fea5d0cf96fa32611535048f6e5c6199
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69262
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[TASK] Use CodeMirror for backend layout code preview
Jochen Roth [Fri, 28 May 2021 13:08:07 +0000 (15:08 +0200)]
[TASK] Use CodeMirror for backend layout code preview

Currently the preview of the generated code for
a backend layout uses only <code> tag.
To streamline the ui this will use the t3editor
if installed to display the generated code

Resolves: #94222
Releases: master
Change-Id: I1df1d03af120c50662ec5806c067b9af49c85dc5
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69308
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>
3 months ago[BUGFIX] Fix change=reload for group fields
Andreas Fernandez [Fri, 2 Apr 2021 15:08:37 +0000 (17:08 +0200)]
[BUGFIX] Fix change=reload for group fields

This patch implements the "Refresh required" dialog for group fields
configured to request a reload once their value changes.
In the same run the validation is now applied to the field holding the
actual value, which requires a minor change in the validation process.

Resolves: #93855
Releases: master
Change-Id: I1a1cd1ff65230da23c820b94b82644d860e06f39
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/68671
Tested-by: core-ci <typo3@b13.com>
Tested-by: Riny van Tiggelen <info@online-gamer.nl>
Tested-by: Richard Haeser <richard@richardhaeser.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Riny van Tiggelen <info@online-gamer.nl>
Reviewed-by: Richard Haeser <richard@richardhaeser.com>
3 months ago[TASK] Change password reset functionality
Oliver Bartsch [Wed, 26 May 2021 14:32:01 +0000 (16:32 +0200)]
[TASK] Change password reset functionality

In case administrators don't want their users to
initiate the reset password process, they have to
set the global configuration option "passwordReset"
to false.

This however also prevents administrators from
using the cli command or the action in the backend
user module.

Therefore, some things changed in the password
reset implementation:

- `passwordReset` now only affects the login screen
- The CLI command is always enabled (requires shell
  access since the command is not schedulable)
- Initiating password reset in the backend can be
  managed separately with a new user TSconfig option

Also the descriptions of the global configuration
options are adjusted. Actually `passwordResetForAdmins`
previously mentioned that setting this to FALSE will
only affect the login screen, which was not the case.
It always affected all places.

In the end, this enables administrators to be more
precise when configuring the password reset functionality
in their installations.

Resolves: #91496
Releases: master
Change-Id: Ic74080adffbaf55f82189dffddb93fdd601034e2
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69268
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Richard Haeser <richard@richardhaeser.com>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Richard Haeser <richard@richardhaeser.com>
3 months ago[FEATURE] Add excludePagesRecursive option to XML sitemap generation
Christoph Lehmann [Sun, 30 May 2021 15:23:42 +0000 (17:23 +0200)]
[FEATURE] Add excludePagesRecursive option to XML sitemap generation

With this option pages can be excluded recursive in the XML sitemap:

    plugin.tx_seo.config.xmlSitemap.sitemaps.pages.config {
        # comma-separated list of page uids which should be excluded recursive
        excludePagesRecursive = 10,24
    }

Resolves: #94206
Releases: master
Change-Id: Ibcf543050c7892df9f768d27e4cb425ee7005a14
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69328
Tested-by: core-ci <typo3@b13.com>
Tested-by: Riny van Tiggelen <info@online-gamer.nl>
Tested-by: Richard Haeser <richard@richardhaeser.com>
Reviewed-by: Riny van Tiggelen <info@online-gamer.nl>
Reviewed-by: Richard Haeser <richard@richardhaeser.com>
3 months ago[TASK] Raise typo3fluid/fluid ^2.7.0
Christian Kuhn [Mon, 31 May 2021 11:11:44 +0000 (13:11 +0200)]
[TASK] Raise typo3fluid/fluid ^2.7.0

A minor raise from 2.6 to 2.7 brings an aria
related feature and a cleanup we adapt in core.

composer req typo3fluid/fluid:^2.7.0

Resolves: #94242
Releases: master
Change-Id: I9b479c33aa5183ea2bad845452dfa8cba52245e6
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69334
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Claus Due <claus@phpmind.net>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
3 months ago[BUGFIX] Fix recipients checkboxes in "Send to stage" dialog
Oliver Bartsch [Mon, 31 May 2021 11:56:59 +0000 (13:56 +0200)]
[BUGFIX] Fix recipients checkboxes in "Send to stage" dialog

Classes and positioning of the recipients checkboxes
in the EXT:workspaces "Send to stage" dialog are
adjusted to be bootstrap 5 compatible, restoring
proper space between checkbox and label.

Resolves: #94241
Related: #93119
Releases: master
Change-Id: If38f03f8c39c830ee5a1292667e8d942b446daff
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69335
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Jochen <rothjochen@gmail.com>
Tested-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Jochen <rothjochen@gmail.com>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
3 months ago[BUGFIX] Force scheme if forceAbsoluteUrl.scheme is set
Nikita Hovratov [Sat, 15 Feb 2020 11:56:34 +0000 (12:56 +0100)]
[BUGFIX] Force scheme if forceAbsoluteUrl.scheme is set

Allow overriding the scheme with forceAbsoluteUrl even if the page
is not protected.

Also the case is now covered where a scheme of a full URL with a path
should be changed. The path in now correctly prepended by a slash.

Resolves: #90228
Releases: master, 10.4
Change-Id: I37592838a2026ad0bed0386e44caa7ffac1fb65e
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63252
Tested-by: core-ci <typo3@b13.com>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Richard Haeser <richard@richardhaeser.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Richard Haeser <richard@richardhaeser.com>