[TASK] Remove loadExtensionTables() from unit test bootstrap

With proper mocking in place, loadExtensionTables() can be
removed from unit test bootstrap.
This speeds up the test suite quite a bit since the huge
$GLOBALS['TCA'] is no longer initialized and gives backup code
of phpunit less headaches.

Change-Id: I9ac96047a49914f3c6ab7acc318bbc36488b6c5b
Resolves: #56739
Related: #51436
Releases: 6.2
Reviewed-on: https://review.typo3.org/28235
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[BUGFIX] Multiple Set-Cookie headers for deleting FE cookie

In the current master every time when removeCookie is triggered a
Set-Cookie header is generated. A cookie should only be deleted if it
was set before. As removeCookie can handle different cookie names, the
check is performed before calling removeCookie function.

Resolves: #56733
Releases: 6.2
Change-Id: I518220ce2def8d9db901b1e8daa87de745317629
Reviewed-on: https://review.typo3.org/28227
Reviewed-by: Alexander Opitz
Tested-by: Alexander Opitz
Reviewed-by: Oliver Klee
Reviewed-by: Jigal van Hemert
Tested-by: Jigal van Hemert
[BUGFIX] Missing argument in ReferenceIntegrity updater

When trying to use the upgrade wizards, a fatal error
is thrown because the mandatory where_clause is missing
in a call to exec_SELECTquery.

Resolves: #56737
Releases: 6.2
Change-Id: I4814b9c2b0b30cea11e81bbf64d94ba8213a07cb
Reviewed-on: https://review.typo3.org/28233
Reviewed-by: Oliver Klee
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[TASK] Return ProcessedFile instead of File if possible

You can query the FAL-API for files by their filename. If the file resides
in the processing-folder of a storage it is a valid file to the storage.
Therefore creating a file-object and indexing it would be a valid thing.

Since this is not intended additionally to the storage the ResourceFactory
must know about that, too. This change implements this awareness, so there
is no way to create a FileObject for files which reside within the
processing folder.
In 6.0 and 6.1 there has been a dirty workaround for that by marking those
files as not indexable which was removed silently when introducing the new
indexer.

Releases: 6.2
Resolves: #54234
Change-Id: I274c47717560a6efc175fa94aacc4770a578fd3f
Reviewed-on: https://review.typo3.org/27753
Reviewed-by: Frans Saris
Tested-by: Frans Saris
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Flash messages are not shown with AJAX requests

Due to the use of DragUploader to upload files, flash messages
are not shown immediately but after manually reloading the page.

Change-Id: Ia2e8750792bd04209b5a1f2ce0e2a63f970ba3a8
Fixes: #56561
Releases: 6.2
Reviewed-on: https://review.typo3.org/28200
Reviewed-by: Frans Saris
Tested-by: Frans Saris
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Wrong note in ResourceFactory

A note in the phpdoc header of ResourceFactory states it is a
lowlevel API. But this is wrong as at least since 6.2 this is
the public API and therefor this note is removed.

Resolves: #56731
Releases: 6.2
Change-Id: I90ed0dafa12656efe6d037abebee7b92de54a6f7
Reviewed-on: https://review.typo3.org/28223
Reviewed-by: Oliver Klee
Reviewed-by: Wouter Wolters
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[FEATURE] Allow Storages outside the webroot

Storages can be marked as not public or be outside of webroot.
There are no direct links to the files posible.

This change adds a eID implementation to create urls to these files.
It also implements a hook in het eID dispatcher that makes is possible
to add custom security/access checks when delivering files.

Releases: 6.2
Resolves: #36420
Change-Id: Ie7fc9c8a674a3200ea2b29d1adc17327d10bd6e5
Reviewed-on: https://review.typo3.org/27760
Reviewed-by: Frans Saris
Tested-by: Frans Saris
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[BUGFIX] Layout category tree is broken

There are several issues with the layout of the category tree.

When hovering the whole element, the categories (text) get underlined.
The categories text is not aligned properly with the icon and checkbox.
The glow on a checkbox with focus is bigger than the checkbox itself.

This patch fixes these issues by adding CSS for the tree when used in
TCEforms.

Change-Id: Id9faaf906c786a95246d12f15821372648fc44b6
Resolves: #56752
Releases: 6.2
Reviewed-on: https://review.typo3.org/28250
Reviewed-by: Frans Saris
Tested-by: Frans Saris
Reviewed-by: Francois Suter
Tested-by: Francois Suter
[BUGFIX] PHP Runtime Notice in saltedpasswords

Declaration of method compareUident() should be compatible with its
parent class.

Change-Id: I66979bd76b204bbb762c41037cdaae5f006debb5
Fixes: #56769
Releases: 6.2
Reviewed-on: https://review.typo3.org/28261
Reviewed-by: Andreas Fernandez
Tested-by: Andreas Fernandez
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[TASK] Add FAL support for import in sys extension impexp

Until now only files from TCA type group internal_type file or
file_reference could be imported and exports from version 6.x
including sys_file records leads to exceptions on importing.
The patch adds support for handling record types introduced
with the File Abstraction Layer.

Resolves: #55532
Resolves: #55528
Resolves: #55906
Releases: 6.2
Change-Id: I7521c84094b0a0424e13c5f91c26b630bbbccbfe
Reviewed-on: https://review.typo3.org/27836
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Marc Bastian Heinrichs
Tested-by: Marc Bastian Heinrichs
[TASK] Create new processor registry

File processing might be different for external storages.
Therefore it must be possible to register your own File Processors
and make the registry driver aware.

Resolves: #56775
Releases: 6.2
Change-Id: I187f6f987f7b0bc92989ed38cbef248449a7f59f
Reviewed-on: https://review.typo3.org/27958
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[BUGFIX] Fix alignment for button "copy default content elements"

In the page module in the "languages" view, the alignment of the button
"copy default content elements" is off. The button needs some padding on
the left side.

This patch fixes this by adding a div which gets the padding. It also
replaces the br's in front of this button with CSS for spacing.

Change-Id: Ic21097e8db078f2a2612c89d9496bf20fa5c0585
Resolves: #56636
Releases: 6.2
Reviewed-on: https://review.typo3.org/28214
Reviewed-by: Stefan Froemken
Tested-by: Stefan Froemken
Reviewed-by: Sebastian Fischer
Tested-by: Sebastian Fischer
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[TASK] Add api tag to ElementBrowser::setRecordList()

This method was introduced in TYPO3 6.2 with the purpose to be used
by Extensions. Therefore the @deprecated tag is replaced with an
@api tag.

Resolves: #56742
Releases: 6.2
Change-Id: Ia48a8c6997c26318a6fea50af32cd73f1138bb2b
Reviewed-on: https://review.typo3.org/28237
Reviewed-by: Tymoteusz Motylewski
Tested-by: Tymoteusz Motylewski
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Inconsistent visual appearance Install Tool

The install tool function System Environment is not according to the
style sheet of the install tool. This is due to the fact phpinfo() is
called on this page which comes with its own CSS styles. These styles
are influencing the visual appearence of the rest of the page.

This patch adds a new utility class to cleanup the output of phpinfo()
before assigning it to the view. It also comes with our own CSS for
phpinfo().

Change-Id: Ib0b087cae4bf5db723b0e9c3481619c984ef674f
Resolves: #55116
Releases: 6.2
Reviewed-on: https://review.typo3.org/28225
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Frans Saris
Tested-by: Frans Saris
[BUGFIX] DBAL: Incomplete database configuration

When no database connection is established, handler_init() is used. But
at this point, the credentials are unkown and the method returns void.

As all parameters of method sql_pconnect() are deprecated, move the
_DEFAULT initialization into method handler_init() to get credentials
into the DBAL configuration.

Resolves: #56257
Releases: 6.2
Change-Id: Ifd908fab1382434d376a9358d0ae9c3af083616e
Reviewed-on: https://review.typo3.org/28045
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
Reviewed-by: Andreas Fernandez
Tested-by: Andreas Fernandez
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] DatabaseConnection must be initialized

The install tool forgets to initialize the database connection.

Change-Id: Ib7355e4f931c7152a6d13df99ed550c1b61eacf9
Fixes: #56763
Releases: 6.2
Reviewed-on: https://review.typo3.org/28254
Reviewed-by: Andreas Fernandez
Tested-by: Andreas Fernandez
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Remove wrong storage->isPublic() check in localFolderTree

In localFolderTree->ext_isLinkable() is a check for storage->isPublic()
but the isPublic flag has nothing to do with the fact if links
to the files can be created.

This change removes this check.

Resolves: #56183
Releases: 6.2
Change-Id: Ia0e264b46259c0bd284a789a4eab48cf9a9e3b14
Reviewed-on: https://review.typo3.org/27772
Reviewed-by: Wouter Wolters
Reviewed-by: Sebastian Fischer
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[BUGFIX] PackageManager initialize() signature is incompatible

PackageManagerInterface contains following method declaration:

 public function initialize(\TYPO3\Flow\Core\Bootstrap $bootstrap);

however in the PackageManager the signature is:

  public function initialize(\TYPO3\Flow\Core\Bootstrap $bootstrap,
    $packagesBasePath = FLOW_PATH_PACKAGES,
    $packageStatesPathAndFilename = '')

This will create a fatal error on some versions of php and when running
unit tests on hhvm (of CMS), see
http://php.net/manual/en/language.oop5.interfaces.php

"The class implementing the interface must use the exact same method
signatures as are defined in the interface. Not doing so will result
in a fatal error."

This change updates the method signature of the PackageManager to be in
line with the interface.

Resolves: #56660
Related: #56409
Releases: 6.2
Change-Id: Iab7ae0d6d9809abe7cb6f9b73adb77f06d2f0820
Reviewed-on: https://review.typo3.org/28195
Reviewed-by: Thomas Maroschik
Reviewed-by: Sebastian Müller
Reviewed-by: Sebastian Fischer
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[TASK] Styling and placement of Toggle All button install tool

The "Toggle All" button in the install tool is currently clickable plain
text, which should be a button. It also needs to move to the fixed footer,
so it's always accessible.

This patch changes the plain text to a button and moves the button to the
fixed footer

Change-Id: I25a57e7a7f0f25fe2fe204f68fe2ee4dbbf1ade0
Resolves: #55469
Releases: 6.2
Reviewed-on: https://review.typo3.org/28243
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Sebastian Fischer
Tested-by: Sebastian Fischer
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[BUGFIX] FollowUp to #56660

Fixes the unit-test according to the changes in review
https://review.typo3.org/#/c/28195/.

Since the BasePath (and therefore vfs://...) cannot be
handover anymore on initialize() it has to be injected
via _set().

Releases: 6.2
Resolves: #56660
Change-Id: I88d03f0305ff08810d6fea82c5c891b1a7a99771
Reviewed-on: https://review.typo3.org/28270
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter