[TASK] Enhance resource storage hooks

Emit postFileCreate and postFileSetContents signals and add
provide the original folder in the postFileMove and the
postFolderMove signals.

Resolves: #59294
Releases: 6.2
Change-Id: Ia4096b38671f3312a1488587972d4883368de05c
Reviewed-on: https://review.typo3.org/30525
Reviewed-by: Frans Saris
Tested-by: Frans Saris
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] getIndpEnv('TYPO3_SSL') fails to detect reverseProxyIp

When running TYPO3 behind a reverse proxy, which also handles SSL,
the setting reverseProxySSL should check if the site is requested
from one of the reverse proxies in order to determine whether
the site is using SSL.

It incorrectly does this check via getIndpEnv('REMOTE_ADDR') which has
already translated the proxy IP to the end-users IP, thus always
returning FALSE.

Resolves: #37467
Release: 6.2, 6.1
Change-Id: I95615b0fea94e0ef0222e958e4e0bba5e6e9f60a
Reviewed-on: https://review.typo3.org/30581
Reviewed-by: Wouter Wolters
Reviewed-by: Mattias Nilsson
Tested-by: Mattias Nilsson
Reviewed-by: Jan-Erik Revsbech
Tested-by: Jan-Erik Revsbech
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Fix command description

Due to using array_pop instead of array_shift the last line
of the command description is dropped instead of the first.

Use array_shift instead to get the full description
annotated for the command method.

Resolves: #59324
Releases: 6.2, 6.1, 4.7
Change-Id: I4d7c320b0ef334adbd15997d15d8e7a56d5739c1
Reviewed-on: https://review.typo3.org/30612
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[TASK] Downgrade to PHPUnit 3.7.*

Suddenly build failures occurred on travis which seem
to be related to ReflectionClass::newInstanceWithoutConstructor
which is used by PHPUnit 4.1.* when available.

Downgrade to PHPUnit 3.7.* to have a green build again
as the failures are totally unrelated to our code.

Change-Id: I6c3c200d5eda372e92ee0fd4c39e7fe79183ecab
Reviewed-on: https://review.typo3.org/30616
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Use delayedImportElement after uploading files

When uploading multiple files in TCEForm the DrapUploader
adds all uploaded files directly to the inline element of the
form. But when a previous request isn't finished yet, it
breaks the processing of last request.

This patch changes the use of importElement to
delayedImportElement so the next element is only added
when the previous is processed.

Resolves: #58956
Resolves: #57472
Resolves: #57190
Releases: 6.2
Change-Id: Iccad2ee19a5462cb63ed749ad60cb685460eb66d
Reviewed-on: https://review.typo3.org/30609
Reviewed-by: Helmut Hummel
Tested-by: Marc Fell
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Revert "[TASK] Downgrade to PHPUnit 3.7.*"

We can revert this again as the issue has been resolved
upstream: 
https://github.com/sebastianbergmann/phpunit-mock-objects/issues/172

We can now switch back to phpunit 4.1.* again.

This reverts commit 7a876ddcfc3d41521b39c073519bad286143508d

Change-Id: If08d3e7200103e5cab77fdc1e098efd2048bde4c
Reviewed-on: https://review.typo3.org/30623
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[TASK] Include suggest info into package metadata

Enhance the Package metadata with information about suggested packages.
This information may be loaded from composer.json or ext_emconf.php.

Resolves: #58701
Releases: 6.2
Change-Id: Ie7415ebe60d2c6164ccc52976a666fe07fd4afe0
Reviewed-on: https://review.typo3.org/30015
Reviewed-by: Thomas Maroschik
Tested-by: Fabien Udriot
Reviewed-by: Fabien Udriot
Reviewed-by: Stefan Neufeind
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[TASK] Observe ext suggestions for ext loading order

Let the DependencyResolver take the suggest-part of the composer.json
or ext_emconf.php files into account. This solves issues where it is
necessary to ensure a certain loading order of extensions without
having a real dependency between those.

Resolves: #57825
Releases: 6.2
Change-Id: Ia771813b7945409e5ddaec3f19da27239be16e67
Reviewed-on: https://review.typo3.org/30005
Reviewed-by: Loek Hilgersom
Tested-by: Loek Hilgersom
Reviewed-by: Thomas Maroschik
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Stefan Neufeind
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[BUGFIX] rtehtmlarea user settings are not shown in setup ext

Fix this by adding the suggestion already present in
the ext_emconf.php also to the composer.json.

Resolves: #58694
Releases: 6.2
Change-Id: I9ded17691ed91fce099638bdac4b4f425cb47ea6
Reviewed-on: https://review.typo3.org/30006
Reviewed-by: Loek Hilgersom
Tested-by: Loek Hilgersom
Reviewed-by: Jacco van der Post
Tested-by: Jacco van der Post
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[TASK] FollowUp to "Include suggest info into package metadata"

A small follow-up renaming the variable of the loop which
has not been renamed after copy and paste.

Resolves: #58701
Releases: 6.2
Change-Id: I70af6722200fda48b09734e21c6d90d3a4e9b868
Reviewed-on: https://review.typo3.org/30638
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[BUGFIX] Fetch RSA public key by Ajax before FE login

Instead of generating and saving the public/private keys for
an RSA enabled login form on rendering the form the keys are
fetched on submit. This resolves the issue with outdated keys
and the problem that the login box on first page doesn't work
anymore when a page in a second tab is opened.

Resolves: #59041
Releases: 6.2
Change-Id: I0ad13775f029a29f6f67e302a1a63f3860e902b5
Reviewed-on: https://review.typo3.org/30364
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
Reviewed-by: Zbigniew Jacko
Tested-by: Zbigniew Jacko
Reviewed-by: Steffen Ritter
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Move TCA for fe_users and fe_groups into TCA/Overrides

TCA manipulation code must no longer reside in ext_tables.php, but
moved to Configuration/TCA/Overrides/<tablename>.php. Leftovers
in ext_tables might disturb loading order of TCA changes.

Change-Id: Ie919a856fbd8242d19110c8db8d01ff7865c913c
Resolves: #59397
Releases: 6.2
Reviewed-on: https://review.typo3.org/30620
Reviewed-by: Krzysztof Adamczyk
Tested-by: Krzysztof Adamczyk
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[BUGFIX] IRRE children show no field values with useCombination

The IRRE option useCombination enables to use bi-directional
relations with IRRE items. This enables you to re-use IRRE
items multiple times (similar as FAL is working with IRRE).

To prevent the same child record from being used multiple
times, items already used are removed from the select box.
The code removing the item was written to remove an item
from a select box, but (accidentially) also targets a hidden
item which causes the JavaScript to break so that the field
values of the child objects are not filled on expanding.

By adding an additional check, this can be prevented.
For steps to reproduce refer to #46477.

Resolves: #46477
Releases: 6.2
Change-Id: Ie7fd89f6ef887b5d45c734dea8ec6ad9ac2a8d2c
Reviewed-on: https://review.typo3.org/19337
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Zbigniew Jacko
Tested-by: Zbigniew Jacko
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[BUGFIX] Add additional TS for contentRenderingTemplates loaded by file

Loading extensions TS, that provide contentRenderingTemplates, like
css_styled_content, using INCLUDE_TYPOSCRIPT was fixed in
https://review.typo3.org/#/c/21679/.

Since making TS content templates more flexible in
https://review.typo3.org/#/c/27587/ the contentRenderingTemplates wasn't
added to "defaultTypoScript_setup." and "defaultTypoScript_constants."
arrays anymore and breaks the mentioned fix.

Solution is to check the required key in contentRenderingTemplates and
add the defaultContentRendering string now.

Resolves: #59318
Releases: 6.2
Change-Id: I8a367f462f304e07bbcec99fd26818bc98148eb4
Reviewed-on: https://review.typo3.org/30544
Reviewed-by: Benjamin Mack
Reviewed-by: Krzysztof Adamczyk
Tested-by: Krzysztof Adamczyk
Reviewed-by: Tymoteusz Motylewski
Tested-by: Tymoteusz Motylewski
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[TASK] Improve styling of sys_action "Create Backend User"

The styling of sys_action "Create Backend User" is outdated
and should be slightly improved to enhance usability of
this module.

Releases: 6.2
Resolves: #59338
Change-Id: Ifaba21a78687589af9ba0decad8bc2b9fdc4d29d
Reviewed-on: https://review.typo3.org/30646
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[BUGFIX] Guard FAL API when called with invalid identifiers

When calling ResourceFactory::getInstance()
->getFileObjectFromCombinedIdentifier($identifier)
with $identifier === NULL or $identifier === ''
an index entry is written for storage 0 which contains the
last path segment of PATH_site as identifier.

Guard the API in two places by throwing exceptions
when an invalid file identifier is given.

Resolves: #59295
Releases: 6.2
Change-Id: Ie2d6d811193ee21b865161984ddbac240388573b
Reviewed-on: https://review.typo3.org/30526
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[BUGFIX] File Relations don't work with workspaces

The file repository used to resolve all sys_file_references
handles enable fields manually currently, which is bad because
it forgets to handle the workspace-related where clause.

The attached patch splits the behavior into frontend and
backend context. In backend the RelationHandler is capable
of automatically resolving IRRE structures. In frontend mode
the enableFiels and version preview settings are relevant to
show correct results.

Resolves: #43916
Releases: 6.2
Change-Id: I6c19e5d7b4cd7a2134921c669b82ab90b54844de
Reviewed-on: https://review.typo3.org/29712
Tested-by: Lorenz Ulrich
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[TASK] Activate 'Flush system caches' with Preset 'Development'

Add a new configuration in Install Tool (['SYS']['clearCacheSystem']).
If set, the toolbar of clearing system cache is visible (only for
admin users).

Add it also for Configuration Preset. For Production it is set to FALSE,
for Development it is set to TRUE.

Resolves: #57230
Releases: 6.2
Change-Id: Id45496c6bc1e64b4454ed7ff78e8db1179387b0f
Reviewed-on: https://review.typo3.org/30656
Reviewed-by: Krzysztof Adamczyk
Tested-by: Krzysztof Adamczyk
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[TASK] Disable notifications

Change-Id: I245db7b621ecd1d994b833da4a18fe1687a437d0
[BUGFIX] IRRE children's children are not moved with parent

Having a parent-child structure spanning three levels, only the
first and second level elements are moved to a different page.
All child elements below the second level are not changed.

The reason is, that the move-placeholder is only created for
the first level of children.

Resolves: #59111
Releases: 6.2
Change-Id: Ia044a1241b8b1e4885cabbbc44b777f847b4c9e5