[BUGFIX] Fix failing test

The test failes due to incorrect mocking, what leads to not claimed
properties for the test.
Additionally the expected call amounts where handled more strictly
where fitting.

Releases: 6.2, 6.1, 6.0
Resolves: #50458
Change-Id: I34214fb9ef9e9935892aa03518505b877538e128
Reviewed-on: https://review.typo3.org/22584
Reviewed-by: Stefan Froemken
Tested-by: Stefan Froemken
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[TASK] Use real boolean value for trimExplode third param

Make use of boolean value TRUE as third parameter in
trimExplode function.

Change-Id: Ied33efac6cddfc2e2798435fe9b1ef748c11905b
Resolves: #50402
Releases: 6.2
Reviewed-on: https://review.typo3.org/22542
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[TASK] Use real boolean value for getLL second param

Make use of boolean value TRUE as second parameter in
getLL function.

Change-Id: I15fe034159e4bb8ecb7c15f8f6e915975fca7c9b
Resolves: #50393
Releases: 6.2
Reviewed-on: https://review.typo3.org/22538
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] FAL does not copy subfolders cleanly

If full structures with sub folders are copied around in FAL
local driver, sub folders are not correctly created in the
target directory.

This is detected in unit tests after recent vfsStream updates in
ext:phpunit.

The patch adds a flag to the Iterator code to also include
directories to fix the issue.

Additionally, the existing two unit tests also tested multiple other
methods of the local driver and are functional tests. The patch moves
those two tests to the functional section and adds three simple unit
tests with correct mocking instead.

Change-Id: I30d3c8bd5c6538b3fe23405d97bcddff6c1ff405
Releases: 6.2, 6.1, 6.0
Resolves: #50472
Reviewed-on: https://review.typo3.org/22596
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] FAL wrong \RecursiveIteratorIterator usage

If using \RecursiveIteratorIterator on \RecursiveDirectoryIterator,
flag SELF_FIRST must be used, otherwise only leaves (files) and not
also directories are returned. This behavior is a bit dependent on
the PHP version used, younger versions (> 5.3.3 seem to do it
correctly).

Furthermore, in copyFolderWithinStorage() $itemSubPath contains
the "relative" path part and not only the node name, checking
equality to "." or ".." fails then if handling sub directories.
So, directories may be created multiple times, resulting in mkdir()
warnings. This is fixed by getting the node name itself and using
that for comparison.

Resolves: #50476
Releases: 6.2, 6.1, 6.0

Change-Id: Ifac4b28f4e02ec8a9bf5891739cf66c1e1074af9
Reviewed-on: https://review.typo3.org/22602
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Failures in em unit tests due to phpunit update

Young phpunit versions seem to handle clones a bit differently,
resulting in test failures in extension manager tests. The tests
are adapted a bit to fix this.

Change-Id: If70561743f68a62167e41ee4c23ae96b56f83ab9
Resolves: #50478
Releases: 6.2, 6.1, 6.0
Reviewed-on: https://review.typo3.org/22604
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[TASK] Remove empty .gitmodules file

With removal of git submodules the .gitmodules file is empty
and can be removed now.

Change-Id: I453f63c0852825b46e9ea62f87385d9eace25134
Resolves: #50480
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Reviewed-on: https://review.typo3.org/22613
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Make BackendUtility::viewOnClick honor doc

Make parameter $alternativeUrl work as documented in the docblock
and also as it worked until #22157.
This patch preserves the hook and basically just puts in an
if-statement. Also adding a unit test.

Change-Id: I7d67af438b0a0af51ca7662b3f8286aeec827c77
Fixes: #41165
Releases: 6.2, 6.1, 6.0
Reviewed-on: https://review.typo3.org/14826
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Kasper Ligaard
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[TASK] Use @inject annotation in extensionmanager

This patch removes all occurences of injectFooBar methods from the
extensionmanager sysext and replaces them with the @inject
annotation.

Releases: 6.2
Fixes: #50482
Change-Id: Idc55d15e3a4d6086529864e4013478983b9c45e7
Reviewed-on: https://review.typo3.org/22619
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[TASK] Provide information about import action in TCEmain to hooks

While importing T3D files the TCEmain currently fires the required
processing on records just as if the editor is generating the records. If
extensions hook into TCEmain, there is no way to differenciate this
situation from the regular editing mode - which might provide unexpected
results, i.e. wrong IRRE relations.

Solution is to provide a boolean to indicate that TCEmain has been called
during an import action which extensions could use to recognize this
situation.

Change-Id: I4fe429fb88f8ec24a7fda885f38ddfbdb4a642f5
Resolves: #36031
Releases: 4.5, 4.7, 6.0, 6.1, 6.2
Reviewed-on: https://review.typo3.org/10515
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Fix disappearing table head in extension manager

This is a sass recompilation of the extension manager scss that fixes
the problem of disappearing table heads.

Change-Id: I7b708f34798714170bed1cbf1b76599990c9dd6f
Fixes: #50440
Releases: 6.2
Reviewed-on: https://review.typo3.org/22611
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[TASK] Adds fileReferenceUid to content rendering

FrontendContentAdapterService saves the file uid but not the
file reference uid.

This commits adds the file reference uid.

Change-Id: I5af09521d5dadc194ec567aec24792def370aedc
Resolves: #49535
Releases: 6.2
Reviewed-on: https://review.typo3.org/21759
Reviewed-by: Andreas Wolf
Reviewed-by: Lars Peipmann
Reviewed-by: Steffen Ritter
Reviewed-by: Stefan Neufeind
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[TASK] Run phpLint and phpUnit in different travis builds

phpLint checks php files for compilation errors in travis before
the unit tests are executed. This takes quite some time.
The patch configures travis to run phpLint and phpUnit in different
builds to speed up the process. Additionally, phpLint environment
does not clone phpunit and the introduction package and does no
database initialization.

Change-Id: Ie25ade5b6a8fcf4c4dc0752fc8662c433ea3c33c
Resolves: #50492
Releases: 6.2, 6.1, 6.0
Reviewed-on: https://review.typo3.org/22624
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Add tests for ContentObjectRenderer::getData()

* Adds unittests
* Cleanup and fix some things along the way
* Some modes didn't allow to be executed without
  adding a dummy-value (e.g. "parameters")

Change-Id: I2b4ff89c828384c852e6fbf9f82c55e6ebbac281
Resolves: #50258
Releases: 6.2
Reviewed-on: https://review.typo3.org/22473
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[CLEANUP] Avoid double parsing of includes

The Template Analyzer BE module parses TypoScript for
included files twice.

Resolves: #50473
Releases: 6.2
Change-Id: I5794b55d22e3ca139112477cd28c5ad4477e97cc
Reviewed-on: https://review.typo3.org/22612
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Better distinction of fields in the backend

This patch enables a better distinction of form elements in the
backend.

Change-Id: Id5bd87eeb68aaa68ccbc284d874a22a1ff0577bb
Fixes: #50460
Releases: 6.2
Reviewed-on: https://review.typo3.org/22603
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Class loader tries to load classes it cannot load

If a class file from a third-party package is loaded which does not
follow the Vendor\Product\Classname convention (e.g. Product\Classname),
the class loader still tries to access the third component of the class
name, leading to a warning (and thus an exception, depending on your
configuration).

To fix this problem, the class loader now checks in advance if it can
possibly load this class (or rather if the classname conforms to the
specification for the CMS universe).

Change-Id: I1cd3964b9486ea591fb373533fd6cef4e9ce3989
Resolves: #50217
Releases: 6.2, 6.1, 6.0
Reviewed-on: https://review.typo3.org/22440
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Debug exception handler: set exit code on CLI

Sets the exit code to 1 when an exception is caught by the debug exception
handler, so that the error state can be checked automatically.

Change-Id: Ic89a79f2ded0b4b9ccc58a4789d9416f260fd88a
Fixes: #44118
Releases: 6.2, 6.1, 6.0
Reviewed-on: https://review.typo3.org/17240
Reviewed-by: Christian Weiske
Tested-by: Christian Weiske
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[TASK] Use real boolean value for pi_getLL third param

Make use of boolean value TRUE as third parameter in
pi_getLL function.

Change-Id: I688187fcb5130b9d3b49fabeee36c67cf300e3dc
Resolves: #50469
Releases: 6.2
Reviewed-on: https://review.typo3.org/22593
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[FEATURE] Add a clear all cache button to install tool

This implements a clear all cache functionality to the install tool.

The implementation is different from the existing backend solution
so that it at least partly clears caches even if some broken
extension is loaded that would kill the operation.

To achieve that, first a low level removal of typo3temp/Cache is
performed, then all table names starting with "cf_" are truncated
with direct database calls. After that ext_localconf and ext_tables
of extension are loaded (this may fatal) and the final cache
configuration is then feeded to the cache manager that executes
the usual flushCaches() call.

Change-Id: Ibd717b0d34bd5b8737a73acebf4632fed38c4d8c
Resolves: #50495
Releases: 6.2
Reviewed-on: https://review.typo3.org/22633
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters