[BUGFIX] Fix regression in ResourceCompressor

Resolves: #53844
Related: #53243
Releases: 6.2, 6.1, 6.0
Change-Id: I7f6a178b063d71c9182316a81e787c9ab5246b8e
Reviewed-on: https://review.typo3.org/25613
Reviewed-by: Alexander Opitz
Tested-by: Alexander Opitz
Reviewed-by: Frans Saris
Tested-by: Frans Saris
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Can not delete Files with metadata records

When a sys_file record has relation with a sys_file_metadata
record the file can not be deleted.

This patch excludes tables sys_file_metadata from the
reference check.

Resolves: #53672
Releases: 6.2
Change-Id: Ib7a5b55fce9f5cf19ffe3b18eddfc7238a8e8626
Reviewed-on: https://review.typo3.org/25456
Reviewed-by: Alexander Opitz
Tested-by: Alexander Opitz
Reviewed-by: Fabien Udriot
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Fix moving/copying files and folders between storages

When a file or folder is moved between 2 storages the target
storages is asked for the filepermissions of the source
file/folder. This breaks because current storages + driver
can not access/find source.

This patch makes sure that on places where a source can be
from an other storage the source storage is used for the
permission check.

Releases: 6.0, 6.1, 6.2
Resolves: #53802
Change-Id: Ib2c1443fad295a3b7eeeb01ab38359fcdf6849ab
Reviewed-on: https://review.typo3.org/25553
Reviewed-by: Fabien Udriot
Reviewed-by: Alexander Opitz
Tested-by: Alexander Opitz
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[RELEASE] Release of TYPO3 6.2.0beta2

Change-Id: Ie872f8aa920c00feb82784957e6ea02b826c6e7c
Reviewed-on: https://review.typo3.org/25623
Reviewed-by: TYPO3 Release Team
Tested-by: TYPO3 Release Team
[TASK] Set TYPO3 version to 6.2-dev

Change-Id: I2e11bc29d40124ffb5d026633c182b542a9e3dd2
Reviewed-on: https://review.typo3.org/25624
Reviewed-by: TYPO3 Release Team
Tested-by: TYPO3 Release Team
[TASK] Remove deprecated methods in PageLayoutView

Resolves: #53811
Releases: 6.2
Change-Id: I14574f3725bc77b130255d8f70cedabd78d74947
Reviewed-on: https://review.typo3.org/25548
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[TASK] Replace ClassLoader cache with standard caches

The class loader can now use all available cache backends
for retrieval of class loading information.

Using it with APC for example brings a good performance
boost.

Resolves: #53744
Releases: 6.2
Change-Id: I55db9686fa2d5b6462b4cb56c452ad2e99e1d2e7
Reviewed-on: https://review.typo3.org/25489
Reviewed-by: Wouter Wolters
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Alexander Opitz
Tested-by: Alexander Opitz
Reviewed-by: Thorsten Kahler
Tested-by: Thorsten Kahler
[WIP][FEATURE] Allow continuous content record numbers

The CONTENT and the RECORDS content objects get a new setting called
continuousRecordNumbers.

If this setting is enabled the record counter in child content objects
will not be reset but continue counting. The parent content object
will then continue counting at the final count of the child content
object.

WIP: To have a clean counting it might be useful to disable the counter
for child CONTENT and RECORDS content object. In this way it would be
possible to use a even / odd class correctly. This setting can either
simply depend on continuousRecordNumbers or can also be an additional
setting (e.g. excludeContentObjectTypesFromCounting).

Resolves: #53717
Releases: 6.2
Change-Id: I3d1f9da6a12b9eb8d631350689f5a7c1f7ace3e5
[BUGFIX] Create valid sys_file refindex data

This patch prevents the creation of sys_refindex entries that point to no
table and no record.

Additionally it fixes the creation of sys_refindex records for sys_file
relations.

Resolves: #53712
Releases: 6.2, 6.1, 6.0
Change-Id: Ic864ade10e4e97fbd9017b9c779be68d911dd626
[FEATURE] Custom active tab in RTE element browser

Introduce a flag that prevents the element browser of rtehtmlarea
from overwriting the active tab that was set by a hook object.

Resolves: #49036
Releases: 6.2
Change-Id: Iebfda39714caa98c0d2023992bbf63a2f5b9b01a
[TASK] Non extension dirs in llXmlAutoFilename

Allow non extension dirs (e.g. fileadmin) in
\TYPO3\CMS\Core\Utility\GeneralUtility::llXmlAutoFilename()

Fixes: #34728
Releases: 6.2, 6.1, 4.7, 4.5
Change-Id: I073f42ec8b6d733246151df331201031187e1baf
[FEATURE] Allow escaping of dots in TypoScript key

This patch allows the use of backslashes to escape
dots in TypoScript keys, for example:

my\.escaped\.key = test

will result in a single key "my.escaped.key" with the
value "test".

Resolves: #29461
Releases: 6.2
Change-Id: Idcaae75d9a8800134f4a82e0740ddabe35b3df89
[BUGFIX] Correct order of key / field deletion

Prevent a SQL error when deleting a key and the field belonging
to the key in the install tool at the same time.

Therefore the order for deleting keys and fields is changed from
field first and key second to key first and field second.

Resolves: #50450
Releases: 6.2
Change-Id: I30aff6ea6c2bf01dec6197eec8fd3aa7306cfcbb
[BUGFIX] Prevent exclude field mixup in FromEngine

Use a local variable for storing the excluded fields in the
FormEngine to prevent the configuration from being overwritten
by the inline form element renderer.

Fixes: #47359
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Change-Id: I5a7a2de16d767f854b4d3f89d599deec28266092
[BUGFIX] URL encode special characters in getPublicUrl()

The FAL method getPublicUrl() in the ResourceStorage should return a
valid URL. To archive this special characters and spaces are URL
encoded in the LocalDriver.

Resolves: #52806
Releases: 6.2
Change-Id: If1f3b6513b6feb0f24cd91be6998a686b54c467e
[TASK] Unify data for jump URL hash generation

The jump URL generation is unified and moved to a new JumpUrlUtility
class. All methods in the ContentObjectRenderer are now using the same
method for creating jump URLs.

The handling of file and directory names with special characters is
improved and FAL file records with special characters in their file names
will also be URL encoded.

Additionally Unit Tests are added to verify the jump URL function.

Resolves: #52156
Releases: 6.2
Change-Id: I7d2d8cec005aae56a118850071ca669ef9740c9d
[TAKS][CONF] Accept other settings in [SYS][setDBinit]

Since the mysqli interface recommends setting the charset using the
mysqli API the utf8 charset will be initialized when establishing the
database connection using mysqli_set_charset().

Additionally [SYS][setDBinit] can now be set to any value or can totally
be removed. To make sure the database connection still uses the utf8
encoding an additional check is added to the bootstrap process that
checks the MySQL character set session variables.

Finally the old default value of [SYS][setDBinit] will automatically be
removed if it is set to the old default value.

Resolves: #41596
Releases: 6.2
Change-Id: I8d0a9eba50495d52accb59627147c1c87b6a9bb5
[BUGFIX] Correct file language overlay for pages

This patch corrects the fields the FILES content object is using for
doing the language overlay for file references for fields in the pages
table.

Instead of the _LOCALIZED_UID that is only available for other record
types the _PAGES_OVERLAY_UID field is now used to check if there
is a translated version available.

Resolves: #47869
Releases: 6.2, 6.1, 6.0
Change-Id: I2465a9e3ccd49223cc44885ffba8484788e1b669
[BUGFIX] Correct handling of empty Backend Layouts

Since the default value of the page properties backend_layout and
backend_layout_next_level is an empty string the value in the select
item is changed from zero to an empty string for consistency.

Additionally the BackendLayoutView will treat an empty string equally
as a zero namely as a non set Backend Layout.

Resolves: #52596
Releases: 6.2
Change-Id: Ic792f748d005f5749f24a3e979b304c23320c8fa
[TASK] Reusable getCategoryFieldsForTable itemsProcFunc

Allow the usage of the method
\TYPO3\CMS\Core\Category\CategoryRegistry->getCategoryFieldsForTable
that can be used as itemsProcFunc for select fields in the TCA in
multiple context by introducing a new categorizedTable configuration key
in the config section of a column in the TCA.

This configuration key can either consist of a single string containing
the name of the table or a configuration array to define additional
conditions that need to be true so that a configured table is used.

Resolves: #53045
Releases: 6.2
Change-Id: I128cbeb6747a8f83e68cdaaaafbc3ab5901353d4