[FEATURE] Refactor TCA handling

This patch refactors TCA handling especially in the frontend to
a new codebase, making it more easy to work with, removing
developer headaches, without significant performance impact:

* In FE, full TCA is always loaded and cached after first call
to a core cache disk. ext_tables are not executed on every call.
* In BE, intermediate TCA is cached, rendering the dynamicConfigFile
setting useless. The destinction between 'ctrl' and 'columns' is
gone.
* TCA files should now be located at
ext:extensionname/Configuration/TCA/tablename.php' and should return
an array with the TCA for the table specified by the filename. On
first access, those files are read and cached. 'ctrl' sections from
ext_tables.php can be removed completly.
* TSFE->includeTCA(), TSFE->getCompressedTCarray() and
GeneralUtility:loadTca() are obsolete and deprecated.
* Extensions not using the new TCA load scheme have a compatibility
layer in ext_tables.php to resolve 'dynamicConfigFile' directly after
a specific extensions ext_tables.php file was loaded, so the next one
can already manipulate it with ExtensionManagementUtility methods.
* t3lib/stddb is gone, all files are merged to core.

Resolves: #45767
Releases: 6.1
Change-Id: I50ebe00c80b9b58ded0586637c85e0f495a63dad
Reviewed-on: https://review.typo3.org/18452
Tested-by: Soren Malling
Tested-by: Mattias Nilsson
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
Reviewed-by: Felix Kopp
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Increase Web>List title column width

The column width for the title column in list view is hard-coded.

Increase the width for current screen sized.
Without this patch many titles are wrapped in new lines.

Change-Id: I09cf35cd954edc7909ec05f7bb6ad6ccd4fdee95
Fixes: #45805
Releases: 6.0, 6.1
Reviewed-on: https://review.typo3.org/18463
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Mattias Nilsson
Tested-by: Mattias Nilsson
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Raise submodule pointer

Change-Id: Ibc67361e233f314788d2e278f2d515cdef94f3b9
Reviewed-on: https://review.typo3.org/18539
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Raise submodule pointer

Change-Id: I43753cf538d3c71bc8b552355d59f2d7a3448974
Reviewed-on: https://review.typo3.org/18540
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Follow-up to TCA refactoring

The patch adapts some minor nitpicks raised during review
of the main TCA patch. Most changes are comments together
with a small restriction to Configuration/TCA/*.php files
for the first cache layer and an according test adaption.

Change-Id: Idc9daead910b4ab0cbf60e7f031450efa1f68928
Resolves: #45927
Related: #45767
Releases: 6.1
Reviewed-on: https://review.typo3.org/18543
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Clean up NEWS.txt for 6.1

Change-Id: I9ea1816a4f02fe4c53d2bc345435a215c0313a04
Releases: 6.1
Reviewed-on: https://review.typo3.org/18545
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Update NEWS.txt with TCA refactoring information

Change-Id: Idbb46a0c32f1dad09ec80540c574526038473c4e
Related: #45767
Releases: 6.1
Reviewed-on: https://review.typo3.org/18546
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[FEATURE] Add option removePageCss to remove styles set in _CSS_PAGE_STYLE

Add the option »removePageCss«, equivalent to »removeDefaultCss«.
This option prevents the output of specific page CSS generated
by extensions like css_styled_content.
Create according entry for t3editor.

Resolves: #37818
Releases: 6.1
Change-Id: Ie1d68bd593b6895ea1fe5328b707f7ba9463ab8c
Reviewed-on: https://review.typo3.org/17708
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Reviewed-by: Dan Untenzu
Tested-by: Dan Untenzu
Reviewed-by: Matthias Nitsch
Reviewed-by: Christoph Dörfel
Tested-by: Christoph Dörfel
Reviewed-by: Alessandro Bellafronte
Tested-by: Alessandro Bellafronte
Reviewed-by: Mattias Nilsson
Tested-by: Mattias Nilsson
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[BUGFIX] Numeric check for upper/lower bound of flexform-values

The range-check in Flexforms uses the same code as for normal
tables. Normally an integer field would be of type integer.
But in Flexforms the value is a string as is the value in DS.

Change-Id: I3512a961780a4bef91e04f61b8b9547f43f28f3e
Fixes: #15771
Releases: 4.5, 4.6, 4.7, 6.0, 6.1
Reviewed-on: https://review.typo3.org/9022
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[BUGFIX] Extbase Plugin for Indexed Search not working

The plugin uses wrong classes in several places, which leads to fatal
errors because of missing functions.

Replace all occurences with the right classes.

Resolves: #45162
Releases: 6.1, 6.0
Change-Id: I446be223e48dc7fc6de78a6d17eb0b1923108409
Reviewed-on: https://review.typo3.org/18020
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Reviewed-by: Matthias Nitsch
Tested-by: Matthias Nitsch
Reviewed-by: Wouter Wolters
Reviewed-by: Stefan Neufeind
Reviewed-by: Marc Hirdes
Tested-by: Marc Hirdes
Tested-by: André Haehnel
Reviewed-by: Benjamin Mack
Tested-by: Benjamin Mack
[TASK] CGL ResourceStorage double quote

Brings a single CGL "DoubleQuoteUsageNotRequired" improvement.

Change-Id: I7ca24279953e9d1566c6733cdcf29462e6bc5c2e
Fixes: #45965
Releases: 6.1
Reviewed-on: https://review.typo3.org/18561
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Cleanup impexp

Change-Id: I8e542e3ce836cd45daa0cfd42b22da61ef721fab
Resolves: #45186
Releases: 6.1
Reviewed-on: https://review.typo3.org/18034
Reviewed-by: Alexander Opitz
Tested-by: Alexander Opitz
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Raise submodule pointer

Change-Id: Ic0bc3709b24516c7b426065f0ea42fd5f38ba2dc
Reviewed-on: https://review.typo3.org/18567
Reviewed-by: TYPO3 Release Team
Tested-by: TYPO3 Release Team
[BUGFIX] Invalid SQL result after four login failures

sql_free_result is called too early.
Move the call after the error handling at the end of the method.

Fixes: #45996
Releases: 6.0, 6.1
Change-Id: I54f1edb48e4c3b70629b46cbba365416c01c0917
Reviewed-on: https://review.typo3.org/18579
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Mattias Nilsson
Tested-by: Mattias Nilsson
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[BUGFIX] Invalid replacement hints in t3lib/

The comment and require_once call in deprecated classes are wrong.

Change-Id: I1d3e49bc977eef1c69551809596a5917a7ccf1f0
Fixes: #45998
Releases: 6.1, 6.0
Reviewed-on: https://review.typo3.org/18582
Reviewed-by: Wouter Wolters
Reviewed-by: Mattias Nilsson
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[TASK] Raise submodule pointer

Change-Id: I2b377c75171b3e30655841fad8ca20f354c998d6
Reviewed-on: https://review.typo3.org/18686
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[BUGFIX] Wrong usage of array_unique()

RootlineUtility.php does not use return value of array_unique() call,
which makes the call ineffective.

This causes some huge SQL queries and increases page load time heavily.

Resolves: #46000
Releases: 6.1, 6.0
Change-Id: Ic614a22a97927cc433eab9e5bf1b6125d53b5882
Reviewed-on: https://review.typo3.org/18691
Reviewed-by: Michael Stucki
Tested-by: Michael Stucki
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Dmitry Dulepov
Tested-by: Dmitry Dulepov
[BUGFIX] Fix inconsitency of file reference property getters

The FileReference object has the following getters
for getting properties:

getProperties()
getReferenceProperties()
getProperty($key)
getReferenceProperty($key)

The result from these getters is inconsistent:

getReferenceProperty($key)
Returns the value of a property which is only
in the reference properties

getReferenceProperties()
Returns merged properties form the original
file and the reference properties without
respecting overriding of reference properties
if they are not set to NULL

getProperty($key)
Returns the merged value from original file
and reference, respecting the NULL override
handling. But if a property is only available
in the original file an Exception is thrown.

getProperties()
Returns merged properties form the original
file and the reference properties
respecting overriding of reference properties
if they are not set to NULL
Properties only available in the original file
will be available in the resulting array.

Streamline the behaviour so that all getters
starting with "getReference" will only return
the properties of the reference record and all
other will return the merged properties but
respecting the NULL override handling.

Resolves: #45416
Releases: 6.0, 6.1

Change-Id: I35a84da83be765991b357c5cee89ce018a1f1e24
Reviewed-on: https://review.typo3.org/18223
Reviewed-by: Steffen Ritter
Tested-by: Wouter Wolters
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Do not overwrite imagecaption in content adapter

Problem:
Create a new content element of type file links,
add a file relation and a description to this file.
Switch this element to be an image element,
add an image and a description of the image

Expected result:
An image with the image description is shown

Actual result:
An image with the description of the file is shown.

Solution:
Check if the field actually is shown in the selected
content element type.

Fixes: #45415
Releases: 6.0, 6.1

Change-Id: I3aa0e47b336cfa881c637b7f5a9e68476ded88ae
Reviewed-on: https://review.typo3.org/18222
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Fix warning in adapter service

The merge of #45415 introduced a warning
because the new meta column name was
used as array key.

Skip this step when the meta column
is found to fix this issue.

Fixes: #45415
Releases: 6.1, 6.0

Change-Id: I5446104359816d0ccacf6c239b86b9b073783174
Reviewed-on: https://review.typo3.org/18700
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-on: https://review.typo3.org/18701