[BUGFIX] Folder structure honors file and folderCreateMask

The folder structure class construct takes care of permissions
of files and folders. The patch adds support for config values
fileCreateMask and folderCreateMask.

Resolves: #49715
Related: #49162
Releases: 6.2

Change-Id: I9f41ba7f038992ef77cf212229fca524e346431f
Reviewed-on: https://review.typo3.org/21971
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[FEATURE] Add meta info to the FAL IRRE element header

Implement the UX-Team functionility of the FAL IRRE element header via a
label_userFunc in the sys_file_reference. Furthermore add a
configuration in the ctrl-section of the sys_file_reference TCA to
support additional fields in the output of the header.
This can be used by any extension.

Resolves: #36052
Releases: 6.2
Change-Id: I7770044c11a6c1a1bcb51a3bfc11b85923653196
Reviewed-on: https://review.typo3.org/21916
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[BUGFIX] Support mysql socket connection

With the switch to mysqli in 6.1, the connection to mysql server via
socket broke.

With mysqli, the definition is now:
* If hostname is "localhost", a socket is used and the socket file
can be given optionally if it is different from the default.
* If hostname is not "localhost" but an IP address, a port can be
given that may be different from the default mysql 3306.

The patch now reflects this in the database connect step and adds a
parameter for the optional socket location. The patch will be adapted
for 6.1 to include only the additional optional socket parameter.

Resolves: #48117
Related: #49162
Releases: 6.2, 6.1
Change-Id: I968a72dbaf90b3f319c03e697137630534d325c1
Reviewed-on: https://review.typo3.org/20933
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Enable table property for all user settings types

The property 'table' for user settings can also be used for other
types than password and text.

Resolves: #47966
Releases: 6.2, 6.1, 6.0
Change-Id: Icf69d480013ff1be6c0b5d43212c179468885344
Reviewed-on: https://review.typo3.org/20542
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Shared defaults for CE wizard using TCAdefaults

The page TSconfig settings for the New Content Element wizard have
a higher priority than the user TSconfig TCAdefaults. Settings which
are not different for each CE type should be set in TCAdefaults. If
they are set in the tt_content_defVals the values will be different
if the editor selected the right CE type directly than if the editor
switched CE type.

Change-Id: I8b84b3059b17f88a3d674b6faae889844cae9c67
Fixes: #41434
Releases: 6.2, 6.1, 6.0
Reviewed-on: https://review.typo3.org/15118
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
[FEATURE] Add label_userFunc_options support to BackendUtility

This new TCA options should also be available to the only other
place where label_userFunc is evaluate.

Resolves: #49721
Related: #36052
Related: #49716
Releases: 6.2
Change-Id: I3da74e660ad4fc982b9ec71e7d5c5f0f57e9e76a
Reviewed-on: https://review.typo3.org/21985
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[BUGFIX] Change the label userfunc for FAL records

The new label_userFunc for sys_file_reference rows results in
"no title" when called by BackendUtility::getRecordTitle. This function
is e.g. called from the workspaces module.

This patch will set the title parameter to the row uid when the
parmeter array does not provide an 'options' 'sys_file' array. This
will result in the uid being displayed which is the old behavior.

Resolves: #49718
Related: #36052
Releases: 6.2
Change-Id: Ib340ca82f5b10faa00815a074545664c2fa67954
Reviewed-on: https://review.typo3.org/21983
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[TASK] Replace inject methods with @inject; allow @Flow\Inject

Currently we are using inject methods like:

/*
 * @param $foo Foo
 */
public function injectFoo(Foo $foo) {
	$this->foo = $foo;
}

This patch removes these methods and introduces
property annotations:

/**
 * @var Foo
 * @inject
 */
protected $foo;

Besides that, it allows the use of @Flow\Inject
as well for compatibility to Flow.

Releases: 6.2
Resolves: #46598
Change-Id: Ied219d465dfa8fce24a819a7fc58a2ff8cb5401c
Reviewed-on: https://review.typo3.org/21819
Reviewed-by: Alexander Schnitzler
Tested-by: Alexander Schnitzler
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] Fixed return URL in reports module

Added urlencode to the returnUrl in the getAdminAccountStatus method.

Resolves: #43417
Releases: 6.2
Change-Id: I4e5d114dfcf2a71d94de25c40be8214b247843ab
Reviewed-on: https://review.typo3.org/21984
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Tim Lochmüller
Tested-by: Tim Lochmüller
Reviewed-by: Felix Kopp
Tested-by: Felix Kopp
[BUGFIX] StorageRepository::findByStorageType() uses wrong typeField

The table "sys_file_storage" has no field "type".
Use the field "driver" instead.

Resolves: #48127
Releases: 6.2, 6.1, 6.0
Change-Id: I64e66a8244ddae85faf68ec3d46b4b9f2f1934ff
Reviewed-on: https://review.typo3.org/20858
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Frans Saris
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[BUGFIX] CSV rendering in CType table not properly done

The CSV rendering in CType table is not done properly in
css_styled_content method render_table. It uses explode with the
delimiter, but this character can also be in the cell itself.

This patch uses the PHP function str_getcsv, which is supported from PHP
version 5.3 >

Change-Id: I5707b006ab1143c108473e5ed7079e6e65cdddca
Fixes: #47356
Releases: 6.0, 6.1, 6.2
Reviewed-on: https://review.typo3.org/20157
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Revert "[TASK] Replace inject methods with @inject; allow @Flow\Inject"

This reverts commit ad7219c2818455edd65918b9a5f8d1b70c0afed7

See https://review.typo3.org/#/c/21997/

More notes on this:
A regex to replace @inject with @Flow\Inject when porting 
Extbase extensions to Flow is very simple and fast.

Additionally @Flow\Inject makes only sense with using "use 
TYPO3\Flow\Annotations as Flow". But with a backported 
annotation parser I expect that we would have annotations 
in "TYPO3\CMS\Extbase\Annotations". Using them as alias 
"Flow" is a bad style as the alias should be "Extbase" then.

Change-Id: I2113b5320f2a6f5dd56cfa7b06469fa1628d2645
Reviewed-on: https://review.typo3.org/22004
Reviewed-by: Marc Bastian Heinrichs
Tested-by: Marc Bastian Heinrichs
Revert "[FEATURE] Support @Flow\Inject annotations in Extbase"

This reverts commit 09bc492925713036cef679c92ffc28eda941605c

We should not support this annotation in extbase, because it 
has no benefit and breaks with the annotation concept in 
Flow. "Flow" is only an alias for "TYPO3\Flow\Annotations" in 
Flow and needs to be registered by "use TYPO3\Flow\Annotations as Flow".

Change-Id: Ic0ecdc58754c176b1140db463c2405cb47bf9933
Reviewed-on: https://review.typo3.org/21997
Reviewed-by: Marc Bastian Heinrichs
Tested-by: Marc Bastian Heinrichs