[BUGFIX] Wrong sys_refindex for deleted child records #2

Workspace actions using the DataHandler trigger a reprocessing
of the reference index. However, it happened that index entries
of the live workspace have been deleted or modified.

The reason for that is a missing SQL statement to limit those
actions to the current workspace only.

The result can be seen in e.g. the workspace module after
having deleted an IRRE child record and how the nesting could
not be determined correctly for that particular record.

Resolves: #59874
Releases: 6.2, 6.3
Change-Id: I850e2fe88999ce8db280d4ef426e43c85fff06da
[BUGFIX] Publishing delete placeholder affects other workspaces

On publishing a delete placeholder all other versions shall be
deleted as well, since the original record will be deleted after
that action. However, this is only valid for the live workspace
and using the legacy version behavior there.

DataHandler::deleteVersionsForRecord() calls
BackendUtility::selectVersionsOfRecord(), but without the
additional, but required, $workspace argument. Thus, all other
versions in other workspaces are deleted as well. The SQL query
to determine versions needs to be limited to either the live
workspace (for legacy versions) and the current workspace.

Resolves: #60249
Releases: 6.2, 6.3
Change-Id: If90511dc4ac2bc3dde6e58570e6bf10e4ac949db
[TASK] Add possibility to enable/disable record nesting

Releases: 6.2, 6.3
Change-Id: I548cb1944e2793abed8ac9e210345be95cf3c853
[BUGFIX] PageTree cannot select/expand hidden nodes

TYPO3.Backend.NavigationContainer.PageTree.select(64) does not
select the correct page, but tries to determine the correct node
levels, fakes the local node states and reloads the page tree.
One thing that might not be considered there is the fact that
pages are represented in hex-values with a leading "p", thus
the integer "64" with be converted to "p40" as node id.

To overcome this scenario and enable custom handling there,
a new generic method is introduced:
TYPO3.Backend.NavigationContainer.PageTree
	.invokePageId(pageId, callback, allResults);

The methods "selectPageId" and "expandPageId" show how this
is actually used.

Resolves: #60405
Releases: 6.3, 6.2
Change-Id: If24b1a0ec261e9bcf00d214bf10c4b4a0aa5bed5
[FEATURE] Highlight page tree depending on current workspace element

The workspace module show various workspace elements that can be
grouped by the accordant page already. However, on dealing with
a lot of elements there, highlighting the workspace element in
the page tree as well, seems to be helpful.

Resolves: #60406
Releases: 6.3
Change-Id: Ib9d2636156b200a21b3de5c08954a2bc1a3217a3