[BUGFIX] PAGE_TSCONFIG_ID is not visible in TCA wizards

The placeholder PAGE_TSCONFIG_ID may be used in a foreign_table_where
TCA condition but is not available as parameter when using a wizard
to create new records. This patch fixes this issue.

Fixes: #59245
Releases: 6.2
Change-Id: I19ae9d72e14c047a08107fe6152093a4b04c27f6
Reviewed-on: https://review.typo3.org/30498
Reviewed-by: Wouter Wolters
Reviewed-by: Marcin Sągol
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[TASK] EM: Add possibility to bypass system dependency checks

This patch adds a new action to show all unresolved dependencies and
adds the possibility to bypass all system and version checks. Required
extensions are still tried to be fetched from TER.

Resolves: #54512
Releases: 6.2
Change-Id: I11cca622875d013ab6fd385d2c659477e803f6a2
Reviewed-on: https://review.typo3.org/29845
Reviewed-by: Markus Klein
Reviewed-by: Zbigniew Jacko
Tested-by: Zbigniew Jacko
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[BUGFIX] Invalid localization overlay of cObject FILES

The TypoScript cObject FILES does not consider localization
overlays and behavior correctly when it comes additional 
translation table (e.g. for pages).

Concerning pages_language_overlay.media, there is no default
fallback to the values of the default language. This behavior
is the same to TYPO3 4.5. If the localization shall fallback
to the default language, the "mergeIfNotBlank" property needs
to be used for the accordant field.

For having the localization handling working properly the
FILES cObject section "references" must not set the properties
"table" and "uid" - otherwise the values will just be overriden
by those TypoScript settings.

Resolves: #58352
Resolves: #47869
Releases: 6.2
Change-Id: I8e915654e5ab1ed1eafe86411930f9fbfcc225ae
Reviewed-on: https://review.typo3.org/29739
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[BUGFIX] Fix set_no_cache() log level severity

The array key that is used to check if a Backend user is logged in
is fixed.

Resolves: #59495
Releases: 6.2
Change-Id: Ida6609c3bde998e17a0d9e9184adb48f227507f5
Reviewed-on: https://review.typo3.org/30663
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
[TASK] Detect and import xml file as well as t3d on ext initialization

Whenever installing an extension, the file located at
EXT:ext_key/Initialisation/data.t3d is detected and its content imported.
This patch adds support for EXT:ext_key/Initialisation/data.xml file as
well.

Resolves: #59154
Releases: 6.2
Change-Id: Ie5cf843ed7fff24c0cc022892d68fa86ba14a674
Reviewed-on: https://review.typo3.org/30464
Reviewed-by: Tymoteusz Motylewski
Tested-by: Tymoteusz Motylewski
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Zbigniew Jacko
Tested-by: Zbigniew Jacko
Reviewed-by: Xavier Perseguers
Reviewed-by: Steffen Ritter
Tested-by: Xavier Perseguers
[TASK] Add default TypoScript setting for extbase query cache

The extbase query cache is enabled by default. This patch
adds a TypoScript setting to enable or disable the cache in general
and on a plugin level.

Resolves: #57280
Releases: 6.2
Change-Id: I620a3c4d2c4e508630d97731f12cc11c617aae75
Reviewed-on: https://review.typo3.org/29763
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Wouter Wolters
Reviewed-by: Marcin Sągol
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[BUGFIX] FollowUp to "Invalid localization overlay of cObject FILES"

When fixing language overlay of cObject FILES, the mocking in the unit
test was not adapted.

Resolves: #58352
Resolves: #47869
Releases: 6.2
Change-Id: I8f939e31a13e437e437624dfccddf5f39526fb8b
Reviewed-on: https://review.typo3.org/30666
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
[BUGFIX] Fix PHP Warning on executing Database Analyzer without changes

When running the Database Analyzers "Execute" without checking at least
one checkbox you get a PHP Warning "array_merge(): Argument #2 is not
an array" because instead of returning an array with a message only the
message string was returned.

Fix this by returning the correct variable, which is of type array.

Resolves: #59504
Releases: 6.2
Change-Id: Ifd73d617a4a97f07151fe0e6c6971bcd79c9709c
Reviewed-on: https://review.typo3.org/30670
Reviewed-by: Markus Klein
Tested-by: Markus Klein
[BUGFIX] TS/EM constant categories cannot be localized

Constant categories may now be localized using a construct similar
to defining custom subcategories:

Fixes: #57369
Documentation: #57371
Releases: 6.2
Change-Id: I6bea094d98897756772a6f616c8a2f3ab5fe7844
Reviewed-on: https://review.typo3.org/28903
Reviewed-by: Wouter Wolters
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Tested-by: Wouter Wolters
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[FEATURE] Display loading mask in Extension Manager

Add a loading mask effect, whenever the User has clicked
on one of the two buttons of the compatibility check message
in the Extension Manager.

Resolves: #59498
Releases: 6.2
Change-Id: I5aed3bb5ffc4b2f0b490ec3da608b9cf33d22d06
Reviewed-on: https://review.typo3.org/30664
Reviewed-by: Fabien Udriot
Reviewed-by: Marcin Sągol
Reviewed-by: Nicole Cordes
Tested-by: Nicole Cordes
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[TASK] Add a system check for external downloads

This patch adds a check to the SystemEnvironment checks to test
whether any method for retrieving external files is available.
This involves allow_url_fopen PHP setting and the usage of curl.
Either of these two must be available otherwise any download
(e.g. from TER) fails.

Resolves: #58316
Releases: 6.2
Change-Id: I7dd7d2d7d2ce102723af3315f4ad4342610b4147
Reviewed-on: https://review.typo3.org/30486
Reviewed-by: Stefan Neufeind
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Fabien Udriot
Reviewed-by: Marcin Sągol
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[BUGFIX] AddQueryStringMethod overwrites parameters

Uri parameters are overwritten when using both POST and GET parameters
with the addQueryStringMethod functionality of uri generation.

The problem is solved by using the method
GeneralUtility::array_merge_recursive_overrule() instead of array_merge
when merging the POST and GET parameters.

Resolves: #53450
Releases: 6.2
Change-Id: I39926ebbaa08f6810e440bad1f238aeb2af17e5b
Reviewed-on: https://review.typo3.org/25211
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
Tested-by: Wolfgang Wagner
Reviewed-by: Stefan Froemken
Tested-by: Stefan Froemken
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
[BUGFIX] Unnecessary instantiation of objects in contentObjectRender

Classes implementing the hook cObjTypeAndClass are instantiated each
time a contentObjectRender is created, even if they are not needed.

This patch introduces lazy loading.

Change-Id: Ifdae8c35fccc8d5070e8b7b30b5e275d9b26561d
Resolves: #59449
Releases: 6.2
Reviewed-on: https://review.typo3.org/30644
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
Reviewed-by: Steffen Ritter
Reviewed-by: Fabien Udriot
Reviewed-by: Christian Zenker
Tested-by: Christian Zenker
Tested-by: Steffen Ritter
[BUGFIX] sys_news on login with twice hsc

Set RteHtmlParser in dontHSC_rte modus to fix garbled output.

Resolves: #25188
Releases: 6.2, 6.1
Change-Id: Ib01c3f6dcf1729b1979003c207aa622cc5c9b5c3
Reviewed-on: https://review.typo3.org/30642
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[TASK] Trigger events in DragUploader

The DragUploader implementation prevents most of its JavaScript
API to be interacted with from outside the module. Especially
there is no public event allowing interaction based on ajax
responses such as "uploadComplete" or "uploadError".

This patch adds a couple of events being triggered on the $trigger
property of the DragUploader module. That's meant to be the "add"
button in DragUploader context, so it's a mandatory DOM node.

The introduced events are:
* uploadStart
* uploadError
* updateProgress
* uploadComplete

Change-Id: I983d5528247f88d319c2385e3fb032cbd701fa33
Resolves: #57454
Releases: 6.2
Reviewed-on: https://review.typo3.org/28976
Reviewed-by: Stefan Neufeind
Reviewed-by: Helmut Hummel
Tested-by: Stefan Neufeind
Reviewed-by: Wouter Wolters
Tested-by: Frans Saris
Reviewed-by: Frans Saris
Reviewed-by: Xavier Perseguers
Tested-by: Xavier Perseguers
[BUGFIX] Preview links are shown for deleted pages

Preview links should not be shown in the backend, if pages are
deleted in a workspace. Currently both page tree context menu
and workspaces module offer a preview for deleted pages which
results in a "broken rootline" error once being clicked.

Resolves: #59142
Releases: 6.2
Change-Id: Id398ace2deb7dc6f000c7960d23f940b694d6229
Reviewed-on: https://review.typo3.org/30471
Reviewed-by: Wouter Wolters
Reviewed-by: Krzysztof Adamczyk
Tested-by: Krzysztof Adamczyk
Reviewed-by: Zbigniew Jacko
Tested-by: Zbigniew Jacko
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
[TASK] Reduce complexity in frontend functional tests

Testing the frontend behavior in functional tests creates
currently an own PHP sub-request to execute TypoScript in
frontent context.
Several hooks collect called cObjects and try to find the
correct nesting levels. Albeit this is working for the
current tests, it is way too complex for extending the
tests for further scenarios like for FAL and Extbase.

The hook magic is resolved and explicit render functions,
called via TypoScript, collect the data an output aggregated
JSON data in the end. Besides that the PHP sub-request
execution now re-uses the PHPUnit utilities to determine
and run the accordant executables.

Resolves: #59487
Releases: 6.2
Change-Id: Ic9eeadee5471a3e0e40d2dffb69b38dec16a0aa1
Reviewed-on: https://review.typo3.org/30515
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[BUGFIX] Missing "all workspaces" tab action for regular editors

Clicking the "all workspaces" tab in the workspace backend
module as regular editor does not have any action and actually
misses the accordant action parameter "fullIndex".

Resolves: #59016
Releases: 6.2
Change-Id: I29d47cb82f1bbe1ea51f2a144f24964ab7328f7f
Reviewed-on: https://review.typo3.org/30267
Reviewed-by: Wouter Wolters
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[BUGFIX] IRRE children's children are not moved with parent

Having a parent-child structure spanning three levels, only the
first and second level elements are moved to a different page.
All child elements below the second level are not changed.

The reason is, that the move-placeholder is only created for
the first level of children.

Resolves: #59111
Releases: 6.2
Change-Id: Ia044a1241b8b1e4885cabbbc44b777f847b4c9e5
Reviewed-on: https://review.typo3.org/30463
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
[BUGFIX] Field size of t3ver_label too low

During workspace move operations sometimes a warning like
this can be found:

  102: These fields are not properly updated in database:
  (t3ver_label) Probably value mismatch with fieldtype.

The reason is, that the t3ver_label field in almost every
record is limited to 30 characters in the SQL definition.
Besides that the error code "102" of the mentioned warning
is invalid and should just be "1" to be recognized by the
accordant functional tests as well.

Resolves: #59110
Releases: 6.2
Change-Id: Ia97a32dbefd1d27e33f186c19c5a6a495dcc194a
Reviewed-on: https://review.typo3.org/30466
Reviewed-by: Wouter Wolters
Reviewed-by: Krzysztof Adamczyk
Reviewed-by: Marcin Sągol
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader