[TASK] SqlParser: Unify internal usage of tableType/engine

For create-table "tableType" was still used while an alter-table
used "engine".

Change-Id: Idee0e569e331ec66084484f1e8d55d9cab03ff9f
Resolves: #61129
Releases: 6.3, 6.2
Reviewed-on: http://review.typo3.org/32304
Reviewed-by: Stefan Froemken <froemken@gmail.com>
Tested-by: Stefan Froemken <froemken@gmail.com>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[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
[WIP][FEATURE] Skip access check for content_from_pid

This patch introduces a new config option called
config.content_from_pid_skipAccessCheck.

If this option is TRUE no access check will be performed for the
page from which the contents should be displayed.

Resolves: #57079
Change-Id: Ib2bf94674b136c09424a5adf7b8000bb5d6ba634
[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] 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
[WIP][FEATURE] Prevent typolinks to non translated pages

A new TypoScript setting is introduced called
config.typolinkDisableLinksToNonTranslatedPages.

If this setting is enabled and the typolink function is not called
from a menu an access check will be performed if the page provided
in the link parameter is accessible in the requested language.

WIP: more testing, especially one problematic issue: when both settings
in a page are active (hide in default and do *not* hide non translated)
then the link to a translated version will be active but if no
translation exits and content_fallback;0 is used you will get a 404
error.

Resolves: #20043
Documentation: #57121
Releases: 6.3
Change-Id: I0452524d378cdb7351997cce34c678f704a43069
[BUGFIX] Respect config.absRefPrefix in admin panel

All image paths rendered by the admin panel will now be prefixed
with $GLOBALS['TSFE']->absRefPrefix.

Resolves: #52211
Releases: 6.2
Change-Id: I81cf6603887bb981e0c9398a724d3fb56de240f8
[BUGFIX] Accessibility bypass in dt for menu with abstract

The TypoScript path of the accessiblity bypass has changed so the
code that overrides the wrapping <li> with a <dt> element is adapted
to match the new TypoScript patch.

Resolves: #57712
Releases: 6.2
Change-Id: Ib0347ddae6091792b85ee77133db8d711982a12b
[TASK] Placeholder attribute without useOrOverridePlaceholder

The placeholder configuration for a TCA field will now be considered
independently from the "mode" beeing set to "useOrOverridePlaceholder".
If a placeholder is set in the TCA it will be rendered. The mode
setting only changes the behavior of the NULL checkbox.

Relsolves: #59129
Releases: 6.3
Change-Id: Ice7681d644623a5e94cbdd22743ddf5aab8919a9
[WIP][BUGFIX] Language overlay for displayCond / subtype

Before a displayCond field value or the subtype_value_field value is
used a language overlay is performed to make sure that the l10n_mode
configuration is taken into account.

WIP: language overlay for subtypes.

Resolves: #59130
Releases: 6.2
Change-Id: I0fdcdcb86e6201f454f8b6ede3ee519f53da8ff1
[BUGFIX] Redirect on direct access to overlayed mountpoint

When the user directly accesses a page that is a mountpoint that
should be overlayed with the contents of the mounted page he will
be redirected to the target page within the mounpoint context.

Releases: 6.2
Resolves: #59382
Change-Id: Ie00c8210b39d2934b410d782799e4fc90efa8c5c
[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.3, 6.2, 4.5
Change-Id: I5a7a2de16d767f854b4d3f89d599deec28266092
[BUGFIX] Language mode for child object / findByUid query

This patch makes all child object queries and the findByUid query
in Extbase ignore the current language mode which prevents invalid
child object references.

Releases: 6.3, 6.2
Resolves: #59971
Change-Id: I0f9e0de9b118fbd3bc49d7b5960285a2a8dce8c8