[TASK] Remove not needed autoload registry of form

The autoload registry entry of the form wizard
is superfluous now, so remove it.

Resolves: #57184
Releases: 6.2
Change-Id: Icc9e7a4791c5a2be95923f2e8bcad980dac611e8
Reviewed-on: https://review.typo3.org/28643
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[TASK] EM: Split Distributions in official and community-based packages

The output of the distributions should be handled for the introduction
package and all other packages.

As there is no distinction between official (published by the Core Team)
and community-based distributions, the check is done via the username
for now, but could be easily modified in one place.

Releases: 6.2
Resolves: #57181
Change-Id: I8f2584532dda4738c66bd27e69743bcff91bc422
Reviewed-on: https://review.typo3.org/28640
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Reviewed-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Fix duplicated array keys in tests

In few tests dataproviders have duplicated array keys,
which results in some cases not being tested.
This patch removes duplicated entries and changes array
key names where needed.

Resolves: #57180
Releases: 6.2
Change-Id: I68ea38f89ed7f304b57165ca1d225ffdbe2a7a15
Reviewed-on: https://review.typo3.org/28641
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Remove db setup from .travis.yml

With proper mocking in place we no longer need an
initialized database to run unit tests.

Change-Id: I3913186540bbd1b1419c37132cddaaa34ea9ca34
Related: #51436
Releases: 6.2
Reviewed-on: https://review.typo3.org/28645
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Tests: Remove some useless tests

Some tests of GeneralUtility depend on LocalConfiguration
settings and can not easily be mocked in a sane way. They
are also not very helpfull and the functionality tested is
unlikly to break. They are removed for now.

Change-Id: Ic162e950d4df75e1b8aea63a6c547139efabdf15
Resolves: #57185
Related: #51436
Related: #57035
Releases: 6.2
Reviewed-on: https://review.typo3.org/28644
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Do not load LocalConfiguration in unit test bootstrap

The patch removes loadConfigurationAndInitialize() from unit test
bootstrap and substitutes it with some more fine grained bootstrap
calls. In effect, the instance specific LocalConfiguration.php is
no longer loaded and removes another depencency from unit tests
to the instance.

Change-Id: Ia6591fe8d40d530558a514832c8d649c46b4ccc9
Resolves: #57035
Related: #51436
Releases: 6.2
Reviewed-on: https://review.typo3.org/28491
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[TASK] Cleanup Ajax URL inline settings

This change streamlines the use of Ajax URLs
by auto-publishing all Ajax URLs to JavaScript
inline settings.

All Ajax URLs can now also be looked up in
JavaScript by providing the AjaxID like that:

var ajaxUrl = TYPO3.settings.ajaxUrls['TxMyExt::process'];

All code has been adapted to reflect this change.

Resolves: #57096
Documentation: #56347
Releases: 6.2
Change-Id: I4a441f51dcb3551874082077c52918b3fc6a9b0f
Reviewed-on: https://review.typo3.org/28602
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Module Menu throws PHP warning for top level menu items

When rendering the module menu icons, the menu items
on the top level (Web, File, User, Admin) don't have an icon,
however the getModuleIcon functionality processes them,
and checks for getimagesize() even though no image is added.

To overcome this, the function needs to be modified slightly to
only call getimagesize if there is actually an icon.

Releases: 6.2, 6.1
Resolves: #57179
Change-Id: Icb45d53a3a61d308b5ff56612f1b9b9b54245a53
Reviewed-on: https://review.typo3.org/28639
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Stefan Neufeind
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[TASK] Followup to "Cleanup Ajax URL inline settings"

commit 7ccbb22f3c28b38ed6879d0c768b0424a2253276
added ajaxUrls to TYPO3.settings. The functional test
needs to be adapted accordingly

Change-Id: I24267feaab39f0260db934e2151f33c948036080
Resolves: #57096
Releases: 6.2
Reviewed-on: https://review.typo3.org/28658
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Option labels not translated anymore

The configuration options labels are not translated anymore
in the Extension Manger.

This is due to a recent refactoring, which encapsulated
the translation process in a separate method,
but forgot to return the translated value.

Resolves: #57198
Releases: 6.2
Change-Id: Ib0051225860c408b00827bf7212835beafbbd2fa
Reviewed-on: https://review.typo3.org/28657
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[BUGFIX] Ensure backwards compatibility in element browser

Hooks that used the element browser used the JavaScript
function jumpToUrl with relative URLs.

After refactoring the element browser, it was necessary
to compute the absolute URL.

To stay backwards compatible we catch this case
in JavaScript and rewrite the URL according
to the new requirements.

By doing so, we can simplify our code again.

The method getThisScript might still be needed in
Hooks for other purposes, so we make it public.

Resolves: #56721
Releases: 6.2
Change-Id: Ieed6d037b428c5c15d18905341ff46dece1d67a7
Reviewed-on: https://review.typo3.org/28618
Reviewed-by: Ernesto Baschny
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Stefan Neufeind
Reviewed-by: Wouter Wolters
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Localized labels for EM options

Make all system extensions use localized labels for their
configuration options, to make the TYPO3 BE better
translatable.

Resolves: #57203
Releases: 6.2
Change-Id: I6dcbfc6477ba32037595dbef20d630f6294dde0b
Reviewed-on: https://review.typo3.org/28664
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
Reviewed-by: Francois Suter
Tested-by: Francois Suter
[TASK] Protect Ajax calls of core extensions

All core extensions need to benefit from
the new Ajax API and will be CSRF protected by that.

Resolves: #57196
Releases: 6.2
Change-Id: I8f6f45fc9426a0e9ae15e61670f52b7cf9f461af
Reviewed-on: https://review.typo3.org/28654
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Fix position of search field clearer in extension manager.

The jquery plugin is not a real external contribution, but was written
specifically for TYPO3, so modifying it in the contrib-folder should be
ok.

Change-Id: I263d827b8e08a83c345b3525c53124483eba5620
Resolves: #57051
Releases: 6.2
Reviewed-on: https://review.typo3.org/28659
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Fix incomplete mocking in several tests

IndexerServiceTest and ExtensionManagementServiceTest
both execute emit signal methods which in turn
try to instantiate the SignalSlotDispatcher,
which can fail.

Resolve this by mocking these methods.

Resolves: #57206
Releases: 6.2
Change-Id: I0a239abeb7c94839a413870c58f22ae59fed8470
Reviewed-on: https://review.typo3.org/28666
Reviewed-by: Markus Klein
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Parsetime: config.debug should override LocalConfiguration

Parsetime is output either if config.debug is set or if FE-debug
is activated in LocalConfiguration. Allow to explicitly override
(set to 0) the debugging in TS for cases where you want to output
page-objects like a JSON-page or so where Parsetime leads to
problems.

Change-Id: Ie5588218694219c13f136b5ac928e697ca472cfb
Resolves: #57202
Releases: 6.2, 6.1
Reviewed-on: https://review.typo3.org/28663
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Stefan Neufeind
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Styling for the distribution management

The distribution management looks ugly. Make it usable
and not just a raw list.

Resolves: #57139
Releases: 6.2
Change-Id: I95eb8dca3cd6b3915839736d18ff3d78e746a30a
Reviewed-on: https://review.typo3.org/28615
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Avoid empty labels in EM configuration

Check if a given configuration option in the EM really has both
a headline and a text, before writing out an empty label.

Resolves: #57205
Releases: 6.2
Change-Id: I66c405f255b9bd6ba9b130088732984157cf4152
Reviewed-on: https://review.typo3.org/28665
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Stefan Neufeind
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Rename GeneralUtility in Documentation sysext

Rename the GeneralUtility class in the Documentation sysext to avoid
confusion with GeneralUtility used in the Core sysext.

Resolves: #57197
Releases: 6.2
Change-Id: Iff44c713307c86840d60bc9ef5aee67ae9741fa9
Reviewed-on: https://review.typo3.org/28655
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
[BUGFIX] preparseQuery wrongly computes cache hash of a query

preparseQuery only takes query's parameters to compute its hash but
not the operators used. As such, those two queries result into the
same cache hash:

SELECT * FROM fe_groups WHERE uid = :uid

SELECT * FROM fe_groups WHERE uid IN (:uid)

Fixes: #57173
Releases: 6.2
Change-Id: I6a65ba0be81da73f55c2e6a73f508728567064c3
Reviewed-on: https://review.typo3.org/28656
Reviewed-by: Felix Oertel
Tested-by: Felix Oertel
Reviewed-by: Markus Klein
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe