[BUGFIX] Page title change directly updates title in content area

Updating the page title in the page tree by double click editing it
calls the changes in right order, by first persisting the
change and then doing the reload of the content area.

Resolves: #49706
Releases: 6.2, 6.1, 6.0
Change-Id: Id108659f1a8bd7a4ecd003337b0782d4fe7d3b68
Reviewed-on: https://review.typo3.org/21947
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[FEATURE] IRRE: Provide default values for created records

This change introduces a new TCA option to configure 'inline' fields:
'foreign_record_defaults' gives you the possibility to set values
in new created records.

Usage example:
config => array(
  'type' => 'inline',
  'foreign_table' => 'tt_content',
  'foreign_record_defaults' => array(
    'CType' => 'image'
  ),
)

That means tt_content elements that are created for this IRRE field
will be image content elements by default (and can be set to another
type by the editor before saving).

The following fields can't be set by this feature because they must
stay under system control:
uid, pid and t3ver_*
and the fields that are configured with the following TCA-ctrl options:
crdate, cruser_id, delete, origUid, transOrigDiffSourceField,
transOrigPointerField and tstamp

Change-Id: I539f9941cc69506590b55a3520f95e38d5e61dd1
Documentation: #46440
Resolves: #46124
Releases: 6.2
Reviewed-on: https://review.typo3.org/18815
Reviewed-by: Oliver Hader
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[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
[BUGFIX] Don't show translated categories in parent tree

The parent category tree should only show categories in default
language.

Resolves: #44915
Releases: 6.2, 6.1, 6.0
Change-Id: I7920cf7ae208ba2db3bd24f7da5439824064c167
Reviewed-on: https://review.typo3.org/21626
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
[TASK] CGL, switch(): Indent "case" correctly; no "break" in default

* "case" needs to be indented one level more than switch().
* default-case should not have a break-statement

Change-Id: I8215ba2bdb19b9abbfe6ed45af3905d7e6c688d6
Resolves: #49527
Releases: 6.2
Reviewed-on: https://review.typo3.org/21748
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[FEATURE] Add Drag&Drop Upload to file-list

In TYPO3 6.1 the Flash-Uploader has been removed and the
upload functionality has been reduced to the basic HTML5
multi-upload field.

In the times of HTML5, CSS3 and modern browser our users
expect a way more advanced experience.

This patch adds the possibility to just drag files into the file
list. The dragged files are asynchronously uploaded to the
currently open folder and an reload of the frame is done.

There are still some minor issues and ideas for a even better
user experience, which have to be discussed if they should
be included in the original patch.

Change-Id: I4221f7ff5a06ee11555906f170b37cc08489d875
Resolves: #47005
Releases: 6.2
Reviewed-on: https://review.typo3.org/19714
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
Reviewed-by: Frans Saris
Tested-by: Frans Saris
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX][Cache] Typo3DbBackend forgets tag entries in flushByTag

flushByTags removes cache entries tagged with a given tag, but
if those cache entries have other tags assigned, they are not
deleted in the tags table.
The patch fixes this with an additional query.

Resolves: #48984
Releases: 6.2, 6.1, 6.0
Change-Id: I7096e63cf823633f0c8a47f698bd475d7d02b83c
Reviewed-on: https://review.typo3.org/21309
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Cleanup permission settings in factory configuration

DefaultConfiguration now contains sane values for fileCreateMask
and folderCreateMask, so the values from FactoryConfiguration
can be removed.

Resolves: #49732
Related: #49162
Releases: 6.2

Change-Id: I7225648cebad697850fd2a728c021ad4ffe80b88
Reviewed-on: https://review.typo3.org/22012
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters