[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
[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
Change-Id: Ica43a1af33e6f86dd042b66781acc0e9cd904cf9
[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
[FEATURE] Report links to disabled linkhandler records

A new TSConfig setting is introduced to mod.linkvalidator that is called
linkhandler.reportHiddenRecords.

If this setting is enabled an error will be triggerd in the linkhandler
link checker of the linkvalidator Extension if a linked record is not
enabled.

Resolves: #54519
Releases: 6.2
Change-Id: Ib95cff1f9bdc67b0636cf38e6d9f33a8cbbdff75
[BUGFIX] No invalid TSConfig usage in linkvalidator

To display the linkvalidator error messages for linkhandler link types
the name of the linked table is read from the TCA instead from Page
TSConfig from a hardcoded page UID 1.

Resolves: #54523
Releases: 6.2
Change-Id: I165813a03cd4574c20981e35a9e53cfdeacfc421
[BUGFIX] Prevent double content link checks

When a link points to a content element by using it's anchor behind
the page UID the reference index contains two entries for this link,
one for the linked page and one for the linked content element.

Since the content element is already checked when the page link is
validated by extracting the anchor element from the URL it is not
required to handle any other references than those starting with
"pages:". This prevents content elements from being treated as pages.

Resolves: #50772
Releases: 6.2
Change-Id: I5337ea01614eee2228fe09936f49a88b5ea96e5d
[BUGFIX] Use mod.linkvalidator settings in scheduler

Since mod.linkvalidator is used in all other places in the linkvalidator
as TSConfig key it is now also used in the scheduler to override existing
TSConfig.

To maintain backward compatibility the old mod.tx_linkvalidator setting
will be respected and a deprecation warning will be logged.

Resolves: #51360
Releases: 6.2
Change-Id: I6e6692d2ff6543f1154e4d64feb52efc5cdfcf83
[FEATURE] Retry request on 403 in linkvalidator

When the linkvalidator detects a 403 error when doing a HEAD request to
an external URL it will retry the request using the GET method.

Resolves: #54513
Releases: 6.2
Change-Id: Ib36b6cbb8e981b95c348afd5a063ca4f5040de75
[BUGFIX] Update all inline records during copying

We add a check to copyRecord_procBasedOnFieldType() that makes sure
the current record was not already copied before calling
copyRecord_raw().

If a copy is detected we use the UID of that copy for further processing
instead of the NULL value that would by returned by using copyRecord_raw()
on already copied records.

This makes sure that all inline records are added to the registerDBList
array which contains all values that should be processed by
remapListedDBRecords().

Resolves: #44795
Releases: 6.2
Change-Id: Ia1e4129432f37c0dd6bfedb5fd69394e2c244d34
[FEATURE] Re-introduce read-only filemounts

With the introduction of FAL, the feature to define read-only filemounts
in the element browser was removed. This needs to be re-introduced in
order to make it possible to define file mounts that are readable for
users, but not writable.

A new property "read_only" is introduced for filemounts.

If this property is set to TRUE, the user will only have read access
to this filemount. Write operations are prohibited.

Resolves: #49391
Releases: 6.2
Change-Id: I0987114ad56857b4a91f6a2198fd8532c292034b
[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] Fix thumnail display for IRRE records

The system will only generate a thumbnail for IRRE records if the
related file object is an image file.

Additionally the UID of the file reference will be used as alternative
text and as title for the thumbnail so that it behaves like the icon
that is used for non-image files.

Resolves: #56274
Releases: 6.2
Change-Id: Ibe6530368434c384d5b7cca93e81b656c8c56383
[BUGFIX] Treat link handler links as internal URLs

The RteHtmlParser will now check if a scheme found by parse_url()
matches a configured typolinkLinkHandler. If this is the case the
link will be treated as internal.

Resolves: #49036
Releases: 6.2, 6.1
Change-Id: Ie4e6bded7a1c4d0c61e4f1a20bc23115612c1519
[FEATURE] Add signal slots to SoftReferenceIndex

This patch adds two signal slot dispatch calls to the SoftReferenceIndex
in the getTypoLinkParts() method and the setTypoLinkPartsElement()
methods.

These slots allow third party link handlers to generate their own
soft reference data.

Resolves: #21396
Releases: 6.2
Change-Id: If2bbcd1757ed480f31c1bdccd69bba2a77df9a8f