[TASK] Integrate IRRE CSV Functional Tests

Integrate comma separated value functional tests for Inline
Relational Record Editing for both live and workspace context.

Resolves: #56143
Releases: 6.2
Change-Id: I8750cabd2e4df41e229ada888a43a104339cc55c
Reviewed-on: https://review.typo3.org/27752
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[BUGFIX] Parent localization pointer missing in IRRE tests

The parent localization pointer (in this very case
l18n_parent, instead of l10n_parent) is missing in
the DataSet scenarios and assertions.

Resolves: #56161
Releases: 6.2
Change-Id: Ieac6dd15d84f15488e0ee4690186efe2fb8dead6
Reviewed-on: https://review.typo3.org/27768
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[TASK] Add functional tests for discarding created elements

The workspaces API has the command "clearWSID" that reverts
elements that have been modified/created/deleted in a workspace.
The regular behavior is to keep the elements but mark it as
deleted and unset the value in "t3ver_wsid".

Resolves: #56179
Releases: 6.2
Change-Id: I55bc72add6f41449dd99f5b6b2816cd1cda3e092
Reviewed-on: https://review.typo3.org/27769
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[TASK] Use environment variable for functional test bootstrap

Make it possible to determine the original root path
of the installation by setting an environment variable
just like in unit test bootstrap.

Releases: 6.2
Resolves: #56182
Change-Id: I42af5d4db20a23eb5d1ce90fc87b6df818a11e88
Reviewed-on: https://review.typo3.org/27771
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Remove class loader in functional test tear down

The functional test teardown does not remove the
class loader but removes the instance directories.
Because of this the TYPO3 class loader is still
triggered (by PHPUnit classes) and tries to write
things to a cache directory that does not exist any more.

Resolves: #56086
Releases: 6.2
Change-Id: Ib6acb588fb8b84c64d04882228822f6398838b6b
Reviewed-on: https://review.typo3.org/27775
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] RTE cannot run in IE 11+ with ExtJS 3.4.1

Solution: Configure a hook in frontend to add a meta tag just after
the head tag whenever rtehtmlarea is in use on the page and the user
agent is IE 11+. The meta tag instructs IE to emulate IE 10.

Resolves: #56192
Releases: 6.2
Change-Id: Icc81f14c107360a47a34403032e5fe7890f1d784
Reviewed-on: https://review.typo3.org/27776
Reviewed-by: Markus Klein
Reviewed-by: Wouter Wolters
Reviewed-by: Stanislas Rolland
Tested-by: Stanislas Rolland
[TASK] Cleanup \TYPO3\CMS\Lang\LanguageService

* Cache hsc values of calls to sL()
* Code cleanup
* Use !empty() instead of count() for objects known to be an array

Change-Id: Ie015f9755b98c41df185865325ea15ce42179e23
Resolves: #56109
Releases: 6.2
Reviewed-on: https://review.typo3.org/27745
Reviewed-by: Steffen Ritter
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Oliver Klee
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Fix PHP warnings in functional tests

Some PHP warnings occur in functional tests due
to missing initialization of arrays or unused
function parameters.

Resolves: #56203
Related: #56187
Releases: 6.0
Change-Id: I1cd75de253382759315a8f72cff6e497b31bcc07
Reviewed-on: https://review.typo3.org/27785
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Use absolute path to check for extensions

The functional test utility assumes that the current
working directory is the document root, which must
not necessarily be true.

Use the absolute path to check for existence of
extension directories instead.

Resolves: #56204
Releases: 6.2
Change-Id: I9e5fa06f0e069c04586de7c23edc80e070ef4aa9
Reviewed-on: https://review.typo3.org/27786
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Add additional configuration for functional tests

Our functional test suit does not fail currently when
tested code emits a PHP warning. This is due to the
fact that the factory configuration uses the
production exception handler which silently discards
warnings.

This change adds additional configuration that
is merged with the factory configuration.

In this configuration the TYPO3 exception handling
is disabled and the core and classes cache is
disabled.

Additionally a new property is added to the base
class to easily add some configuration values that
might be needed for the test case.

Resolves: #56187
Related: #56086
Releases: 6.2
Change-Id: I5c7c2c0d495bae06a56d2285b8d521eaa4ab37d2
Reviewed-on: https://review.typo3.org/27773
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] New SignalSlot after preInit in EditDocumentController

Adds a new SignalSlot possibility after the preInit method call.

Resolves: #56195
Releases: 6.2
Change-Id: Ia68734999a0e5fbe6c945d9e28d8571cd6192e75
Reviewed-on: https://review.typo3.org/27777
Reviewed-by: Tomas Norre Mikkelsen
Tested-by: Tomas Norre Mikkelsen
Reviewed-by: Erik Frister
Tested-by: Erik Frister
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[CLEANUP] Replace strlen() with === for zero length check

It is faster to compare a string with === '' to find out if it's empty
than to run strlen() on it.

The replacement rules are applied as follows:
 *    if (strlen($str))
   => if ((string)$str !== '')
 *    if (!is_string($str) || strlen($str) === 0)
   => if (!is_string($str) || $str === '')
 * If it can be seen easily that $str is a string,
   the typecast is omitted.

Resolves: #54091
Releases: 6.2
Change-Id: I59c5cbccea4f98b8f282377e6aa67d970859a457
Reviewed-on: https://review.typo3.org/27091
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Installer rejects traling slash in link target

When having e.g. the link for ``typo3/`` pointing to
``typo3_src/typo3/``, the install tool complains because the trailing
slash is not expected. This slash is however perfectly ok, as there is
no difference between typo3_src/typo3 and typo3_src/typo3/ – both point
to the same "file" (i.e. node in the filesystem structure).

This patch strips trailing slashes from the actual link target before
doing the check, so no change to existing configuration is necessary.

Change-Id: Ibcb2118a2bb8fcf004470f1a949824576ad4d1ec
Resolves: #55551
Releases: 6.2
Reviewed-on: https://review.typo3.org/27229
Reviewed-by: Benjamin Mack
Reviewed-by: Christian Kuhn
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
Revert "[CLEANUP] Replace strlen() with === for zero length check"

This reverts commit de27a20afbd8f413f60029afc5622c7b33212322

Change-Id: I078d2f7bbff605c91d83a9853e8feb9c31d57ccc
Reviewed-on: https://review.typo3.org/27792
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[TASK] Upgrade normalize.css to version 3.0.0

Resolves: #55316
Releases: 6.2
Change-Id: I945f0c033f3d69c1951ea9ee59b0a00c5f866175
Reviewed-on: https://review.typo3.org/27046
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
Reviewed-by: Marcin Sągol
Tested-by: Marcin Sągol
Reviewed-by: Michiel Roos
Tested-by: Michiel Roos
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Revert "[TASK] FrontendContentAdapterService processes record repeatedly"

This reverts commit 3adf78359015401648fcec4befe70e9bd0b7a2ea

This patch breaks section menus as it introduces invalid caching.
The original patch has not yet been backported.

Resolves: #56209
Resolves: #54953
Releases: 6.2
Change-Id: Ia3fc8718ed3907913a5538eee102260425f2cf16
Reviewed-on: https://review.typo3.org/27788
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[TASK] EXT: t3skin - .list-unstyled for ol & ul

Brings CSS class for lists that semantically need to be
UL or OL tags but do not have a visible list-style-item:

<ul class="list-unstyled">
	<li>…</li>
</ul>
<ol class="list-unstyled">
	<li>…</li>
</ol>

Resolves: #55834
Releases: 6.2
Change-Id: Ic51fbe1f0995b4504d5b10a4c83775a977a19e33
Reviewed-on: https://review.typo3.org/27801
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[BUGFIX] New Content Element: hide list style

Hides bullet points in New Content Element Wizard.

Resolves: #56062
Releases: 6.2
Change-Id: Iead660b30df3cabea76d22dc962802c61be01ea7
Reviewed-on: https://review.typo3.org/27804
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[BUGFIX] Using files in eID results in fatal error

In TYPO3_MODE == 'FE' we attached language overlays for file metadata
via an Signal in the MetaDataRepository. Within this signal the
methods of the PageRepository in $GLOBALS['TSFE'] are used to do the
actual language overlay.

When using eID the Frontend is not initialized. When creating file
objects in eID these functions are accessed on non-objects which
obviously leads to a fatal error.

As a result the registration of the Slot is extended to not register
itself in case of eID requests.

Resolves: #54232
Releases: 6.2
Change-Id: I4ccf226f48eb85428ce281c4a941ff7e834c2f88
Reviewed-on: https://review.typo3.org/27692
Reviewed-by: Wouter Wolters
Reviewed-by: Frans Saris
Tested-by: Frans Saris
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[TASK] EXT: tstemplate - use treeline sprite icons

Bring treeline sprite icons to t3-table in Template backend module.

Resolves: #56229
Releases: 6.2
Change-Id: I95cfad211fe5750d0786592986b4849f5f5b9826
Reviewed-on: https://review.typo3.org/27800
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Marcin Sągol
Tested-by: Marcin Sągol
Reviewed-by: Benjamin Mack
Tested-by: Benjamin Mack