[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
[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] 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
[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
[TASK] Allow FrontendContentAdapter to be disabled

The FrontendContentAdapter transforms tt_content and pages records
within cObject to the format which they have been stored in in pre
6.x installations, so probably existing legacy TypoScript config
can deal with the same data.

This patchset introduces an AllConfiguration flag allowing to disable
that service. For new installations the service is disabled by default,
upgrading installations have the service enabled.

Resolves: #54979
Releases: 6.2
Change-Id: I254f5c170c3e6a9f5ee214c0fe0e7a58e080cf34
[BUGFIX] Named parameters in Extbase comparison queries

Instead of using unnamend parameters (?) in parseComparison() in the
Extbase Typo3DbQueryParser the matching parameter identifier will be
used for buidling the comparison SQL.

Additionally the non existing "$parameters" method parameter is removed
from a lot of method calls.

Resolves: #57053
Releases: 6.2
Change-Id: I1123275af57e8803ecd792d65f91627cef54f501
[BUGFIX] Clean MP parameter for rootline cache identifier

Any commas in the mount point parameter are replaced with underscores
to prevent caching errors in the RootlineUtility.

Resolves: #57073
Releases: 6.2
Change-Id: If1e135d0abbc08ebc11954d17f57ea037983ba10