[BUGFIX] Nested flexforms no longer throw exception

This patch prevents nested flexforms from throwing
an exception on saving or opening the record.

Resolves: #59368
Releases: 6.2

Change-Id: Iadeeecc3aef92b8bcc4f7fe4e22882d924f10a50
Reviewed-on: https://review.typo3.org/30590
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[TASK] Remove skipped FAL tests

FAL includes some tests that are skipped ever since
FAL was merged. Most of them don't even have a
comment as to why and need to be completely rewritten
as the functionality changed.

We should remove these tests for now.

Change-Id: Ib75b4ea104a968019e06937974eaa1846cfe3a8a
Releases: 6.3
Resolves: #59728
Reviewed-on: https://review.typo3.org/30940
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] language condition does not match exact string

The documentation for conditions of type "language" states: "The values
must be a straight match with the value of getenv('HTTP_ACCEPT_LANGUAGE')
from PHP." (or you can use wildcards). Exact matches are actually
not working - and the unit test showing the problem was skipped.

Patch adds the feature as documented and adjusts the unit test.

Change-Id: I5691fff41c889476d8149d6f92c26731ad7bb1fd
Resolves: #59707
Releases: 6.3
Reviewed-on: https://review.typo3.org/30920
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Add support for having files outside the t3d/xml in impexp

Impexp files are blown up from the files that are included as base64.
This patch adds the possibility to have the files separated from the
 t3d/xml export file. They are saved to a folder beside the export file.

Resolves: #57379
Releases: 6.3, 6.2
Change-Id: Ib8bdc4336c64d2eae0e993132a5fce84eb01f766
Reviewed-on: https://review.typo3.org/30453
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[TASK] Remove not maintained ChangeLog in EXT:linkvalidator

Resolves: #59738
Releases: 6.3
Change-Id: Idb08c3f7311ae97590495c77d180429baabefcda
Reviewed-on: https://review.typo3.org/30960
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
[TASK] FollowUp to add support for having files outside the t3d/xml

Fix functional tests.

Resolves: #57379
Change-Id: Iafbf4e2b7e68dd27b488f20141f34680f57bc9c4
Reviewed-on: https://review.typo3.org/30955
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[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.3, 6.2, 6.1
Change-Id: Ie4e6bded7a1c4d0c61e4f1a20bc23115612c1519
Reviewed-on: https://review.typo3.org/27680
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[TASK] Improve StringUtility

This patch adds the methods beginsWith() and endsWith().
Furthermore it deprecates the (Core-wise unused) isLastPartOfString()
method, because we slightly change the implementation of it, which is
now part of endsWith().

Resolves: #59132
Resolves: #45499
Releases: 6.3
Change-Id: Ida21a85a3cb724618a490f7eab753978a1bfaa70
Reviewed-on: https://review.typo3.org/30611
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Don't ignore file imports in fallback storage

An export could contain sys_file records that are "stored" in the
fallback storage (ID 0). They must not be ignored.

Resolves: #58841
Releases: 6.3, 6.2
Change-Id: I39855810621310831ab1353c5e56f4529a7ac3aa
Reviewed-on: https://review.typo3.org/30147
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] Fix empty globalString LIT condition comparison

An empty "LIT:" condition results in NULL, so the strict compare
doesn't match with the empty string.

Solution is to cast the haystack to string before, like it was
done anyway later in the preg_match.

Releases: 6.3, 6.2, 6.1
Resolves: #59344
Change-Id: I1e4b00e454d921eedd0c03a1767d4ec57c321bd7
Reviewed-on: https://review.typo3.org/30559
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Marc Bastian Heinrichs
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Prevent error message for correct imports of sys_file_metadata

If sys_file_metadata records are updated on import, a wrong error message
is logged.

Resolves: #58826
Releases: 6.3, 6.2
Change-Id: I023306a69da9c725d52d076d196bf22178ff1f62
Reviewed-on: https://review.typo3.org/30140
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[BUGFIX] Move TCA modification of EXT:openid to TCA/Overrides

TCA manipulation code must no longer reside in ext_tables.php, but
moved to Configuration/TCA/Overrides/<tablename>.php. Leftovers
in ext_tables might disturb loading order of TCA changes and spoil
proper caching.

Change-Id: I7b5240eccde3d49531bb734adf26ee623829dc59
Resolves: #59698
Related: #59414
Releases: 6.3, 6.2
Reviewed-on: https://review.typo3.org/30910
Reviewed-by: Olivier Dobberkau
Reviewed-by: Sebastian Fischer
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Cleanup WorkspaceSelectorToolbarItem

Resolves: #59748
Releases: 6.3
Change-Id: I29ff785404fba56ccff0a5e909c8dd1149c4a9bb
Reviewed-on: https://review.typo3.org/30970
Reviewed-by: Robert van Kammen
Tested-by: Robert van Kammen
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Remove not maintained ChangeLog files

Remove not maintained ChangeLog in

EXT:dbal
EXT:version
EXT:workspaces

Resolves: #59739
Releases: 6.3
Change-Id: I99b48964a529de3bcfa069f2902232418a89bf5b
Reviewed-on: https://review.typo3.org/30963
Reviewed-by: Oliver Klee
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[BUGFIX] getAvailableWorkspaces called statically

Use same call to getAvailableWorkspaces as in
checkAccess.

Resolves: #51420
Releases: 6.3, 6.2
Change-Id: Icbea4611d7bd498e25bf658d7f3fa5a74539f479
Reviewed-on: https://review.typo3.org/30962
Reviewed-by: Oliver Klee
Reviewed-by: Robert van Kammen
Tested-by: Robert van Kammen
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
[TASK] Update all extension versions to 6.3.0

Resolves: #59742
Releases: 6.3
Change-Id: Id6c05025873bdbdeebd74585f9bd4093657999e0
Reviewed-on: https://review.typo3.org/30965
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[TASK] Clean up NEWS.md for 6.3

Resolves: #59737
Releases: 6.3
Change-Id: I3260bd78ae85af5915c6ef208dc18468b9cc948a
Reviewed-on: https://review.typo3.org/30959
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[TASK] Create CSS Styled Content TypoScript configuration for 6.3

For backwards compatibility we keep versions of the CSS Styled
Content TypoScript configuration files selectable as rendering
template.

The current setup.txt and constants.txt are just copied into
the 6.2 folder. After this change the branches may diverge.

Resolves: #59736
Releases: 6.3
Change-Id: Ic8ec99917917678c6d0e38ca7b4402166ffac115
Reviewed-on: https://review.typo3.org/30957
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[TASK] Signal for BackendUtility::getPagesTSconfig()

A signal is dispatched in BackendUtility::getPagesTSconfig()
before the include lines are calculated.

This enables to supply additional PageTS for each page
programmatically, even in multi-site environments.

Releases: 6.3, 6.2
Resolves: #59703
Change-Id: I1cc1188eebbf6dee769c64a654339837e0cdce59
Reviewed-on: https://review.typo3.org/30921
Reviewed-by: Felix Oertel
Tested-by: Felix Oertel
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[TASK] Add possibility to register a module as navigation

While implementing CSRF protection for backend modules,
it was forgotten to implement a solution for navigation components
that also could be modules.

Add this possibility now by introducing yet another
configuration option for modules.

Resolves: #58138
Documentation: #59369
Releases: 6.3, 6.2
Change-Id: I6655ad11cbf8a13c7d1182c9635cf2745183fb49
Reviewed-on: https://review.typo3.org/30593
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Frans Saris
Tested-by: Frans Saris
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring