[TASK] Cleanup ext_localconf.php of sysexts

As TYPO3 is loading all ext_localconf.php on each call,
the existing code can be cleaned up by removing
old information, putting BE-only functionality in
TYPO3_MODE == 'BE' and install-tool only
in Install only mode.

Also, some hardcoded require_once statements are
removed.

Benefits are that FE does not need to load everything
all the time.

I haven't noticed any side-effects so far, but please
test extensively.

Resolves: #55593
Releases: 6.2
Change-Id: Ibc37e84cb2af05ddb6b227290330aad31037a018
Reviewed-on: https://review.typo3.org/27286
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Fix foreign_table for l10n_parent in sys_file_metadata

Instead of sys_file_metadata sys_file_reference was configured.

Resolves: #57046
Releases: 6.2
Change-Id: I1194012cbacb0415993672338d6ac6ee0a515dc1
Reviewed-on: https://review.typo3.org/28501
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Exception in Locker if typo3temp does not exist

Follow-up to 2268f64c18b607ba39d06b1580afb0ccd786d6b1

If typo3temp does not exist, the Locker should throw an exception.
The ClassLoader needs to catch this exception and acts upon
depending on whether we are in the Installer or not.

When in the Installer, locking has to be skipped completely due to
missing typo3temp directory.

Resolves: #57008
Releases: 6.2
Change-Id: Ic595dc97826cd94d6f173b7c681194ed754ed3e0
Reviewed-on: https://review.typo3.org/28482
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Failng Import/Export functional tests

As a follow-up to issue #57046 (which fixed a bug in
sys_file_metadata pointing to sys_file_reference as
translation parent), these corrections need to be
updated in the functional test assertions as well.

Resolves: #57054
Releases: 6.2
Change-Id: I1a3d395fb4fcb1271d2684af38e5fc32a10463fc
Reviewed-on: https://review.typo3.org/28512
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[TASK] Add ManyToMany copyPage functional test

Add the copyPage() functional test for live and workspace.

Resolves: #57030
Releases: 6.2
Change-Id: Id9ddea21a50c449c3f2674d704c10fefb2da12ff
Reviewed-on: https://review.typo3.org/28488
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[BUGFIX] Remove obsolete node in import test data header xml

Resolves: #57045
Releases: 6.2
Change-Id: I439305e5143b3c51a03befc642caf66286264679
Reviewed-on: https://review.typo3.org/28496
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Marc Bastian Heinrichs
Tested-by: Marc Bastian Heinrichs
[BUGFIX] Fix automatic core updater

AbstractCoreUpdate redefines the $view member to be
a JsonView, but does not re-implement the parent methods
that rely on $view being an AbstractView.

Fix this by re-implementing the initializeHandle() method.
This method can be merged with the former initializeCoreUpdate(),
which wasn't called at all in most actions.

Resolves: #56865
Releases: 6.2
Change-Id: I85260a0e57e915ac941569cfbdde1f96cdaec5e6
Reviewed-on: https://review.typo3.org/28393
Reviewed-by: Philipp Gampe
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[TASK] Unify NULL default value handling

If a field is configured to allow NULL values ("eval" is set to "null")
and the default value in the TCA is explicitly set to NULL the value
will not be converted to a string.

Additionally the mode setting "useOrOverridePlaceholder" will not have
any influence any more on the default value when creating new records.

Resolves: #54412
Releases: 6.2
Documentation: #56584
Change-Id: Ica43a1af33e6f86dd042b66781acc0e9cd904cf9
Reviewed-on: https://review.typo3.org/26408
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Wouter Wolters
Reviewed-by: Oliver Hader
Reviewed-by: Ernesto Baschny
Reviewed-by: Stefan Neufeind
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
[BUGFIX] RTE Linking with file upload fails

Catch exceptions raised when the potential target folder or
the default user upload folder does not exist.

The change  https://review.typo3.org/27323 from ticket
http://forge.typo3.org/issues/48512 should be applied
in few places more.

Resolves: #56751
Related: #48512
Releases: 6.2
Change-Id: I7446697d64a580203f8f772d4bba690542dd7cb2
Reviewed-on: https://review.typo3.org/28247
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Frans Saris
Tested-by: Frans Saris
[BUGFIX] Catch exception in filelist when file is missing

The code responsible for rendering the thumbs belonging to a
record doesn't catch the exceptions when a file couldn't be found.

This change adds a try catch around the functions that
tries to retrieve the file and displays a flash message when
the file is missing.

Resolves: #56077
Releases: 6.2
Change-Id: Icc6550db43c8738c74fd7ea8faac6e99a54bc0f3
Reviewed-on: https://review.typo3.org/28284
Reviewed-by: Markus Klein
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[TASK] Follow-up: Cleanup ext_localconf.php of sysexts

The Extbase implementation registrations don't have to
be initialized in BE mode only.

Resolves: #55593
Releases: 6.2
Change-Id: I78a643fba62d48734fc727d7bf78bf774e6c3ddd
Reviewed-on: https://review.typo3.org/28519
Reviewed-by: Wouter Wolters
Reviewed-by: Ernesto Baschny
Reviewed-by: Markus Kasten
Reviewed-by: Stefan Froemken
Tested-by: Stefan Froemken
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
Reviewed-by: Marc Bastian Heinrichs
Tested-by: Marc Bastian Heinrichs
[BUGFIX] Trim leading slashes in the local driver baseUri

Since the generated public URLs will be invalid when the baseUri
in the LocalDriver contains a leading slash all leading slashes will
be trimmed after the baseUri is initialized.

Resolves: #56927
Releases: 6.2
Change-Id: I72efed33d5a6fde639722693aaaeae9152b71b1c
[BUGFIX] Use last result line of identify command

In GraphicalFunctions::imageMagickIdentify() the last line returned by
the executed command will be used as result.

This prevents the system from using possible error messages printed
before the actual result for further processing.

Resolves: #56574
Releases: 6.2
Change-Id: Ic179e0b68c7fa9a4f0f4b2342cb381c54fb740b9
[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
[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] 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
[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
[BUGFIX] Type check fix in linkhandler link type

To determine if a link should by handled by the linkhandler link type
in the linkvalidator the "type" entry in the $value array will be
checked instead of the $type variable which is always empty.

Resolves: #38639
Releases: 6.2
Change-Id: I8183bfca0e4662518063f0d3ec9ba6bab0ff58bf
[FEATURE] Provide TSConfig to link checkers

The currently active TSConfig for the linkvalidator will be passed
to the link checker instances if they implement the required
setTSConfig() method.

Resolves: #54518
Releases: 6.2
Change-Id: I59d1de5fb3f818d340f499260589edf9a45d3148