CommandMap
Handles the \TYPO3\CMS\Core\DataHandling\DataHandler command map and is only used in combination with \TYPO3\CMS\Core\DataHandling\DataHandler
Table of Contents
Properties
- $eventDispatcher : EventDispatcherInterface
Methods
- __construct() : mixed
- process() : array<string|int, mixed>
- Processes the command map.
- explodeSetStage() : array<string|int, mixed>
- Explodes id-lists in the command map for staging actions.
- getCommonClearProperties() : array<string|int, mixed>
- Gets common properties of dependent elements for clearing.
- getCommonPublishProperties() : array<string|int, mixed>
- Gets common properties of dependent elements for publishing.
- getSetStageProperties() : array<string|int, mixed>
- Gets common properties of dependent elements for staging.
- resolveWorkspacesDiscardDependencies() : array<string|int, mixed>
- Resolves workspaces related dependencies for clearing/flushing of the command map.
- resolveWorkspacesPublishDependencies() : array<string|int, mixed>
- Resolves workspaces related dependencies for publishing of the command map.
- resolveWorkspacesSetStageDependencies() : array<string|int, mixed>
- Resolves workspaces related dependencies for staging of the command map.
Properties
$eventDispatcher
protected
EventDispatcherInterface
$eventDispatcher
Methods
__construct()
public
__construct(EventDispatcherInterface $eventDispatcher) : mixed
Parameters
- $eventDispatcher : EventDispatcherInterface
process()
Processes the command map.
public
process(array<string|int, mixed> $commandMap, int $workspace) : array<string|int, mixed>
Parameters
- $commandMap : array<string|int, mixed>
- $workspace : int
Return values
array<string|int, mixed>explodeSetStage()
Explodes id-lists in the command map for staging actions.
protected
explodeSetStage(array<string|int, mixed> $commandMap, string $table, string|int $versionIdList, array<string|int, mixed> $properties) : array<string|int, mixed>
Parameters
- $commandMap : array<string|int, mixed>
- $table : string
- $versionIdList : string|int
- $properties : array<string|int, mixed>
Return values
array<string|int, mixed>getCommonClearProperties()
Gets common properties of dependent elements for clearing.
protected
getCommonClearProperties(ElementEntity $element) : array<string|int, mixed>
Parameters
- $element : ElementEntity
Return values
array<string|int, mixed>getCommonPublishProperties()
Gets common properties of dependent elements for publishing.
protected
getCommonPublishProperties(ElementEntity $element) : array<string|int, mixed>
Parameters
- $element : ElementEntity
Return values
array<string|int, mixed>getSetStageProperties()
Gets common properties of dependent elements for staging.
protected
getSetStageProperties(ElementEntity $element) : array<string|int, mixed>
Parameters
- $element : ElementEntity
Return values
array<string|int, mixed>resolveWorkspacesDiscardDependencies()
Resolves workspaces related dependencies for clearing/flushing of the command map.
protected
resolveWorkspacesDiscardDependencies(array<string|int, mixed> $commandMap, int $workspace) : array<string|int, mixed>
Workspaces records that have children or (relative) parents which are versionized but not cleared/flushed with this request, are removed from the command map.
Parameters
- $commandMap : array<string|int, mixed>
- $workspace : int
Return values
array<string|int, mixed>resolveWorkspacesPublishDependencies()
Resolves workspaces related dependencies for publishing of the command map.
protected
resolveWorkspacesPublishDependencies(array<string|int, mixed> $commandMap, int $workspace) : array<string|int, mixed>
Workspaces records that have children or (relative) parents which are versionized but not published with this request, are removed from the command map. Otherwise this would produce hanging record sets and lost references.
Dependencies are resolved on versioned record uids: ElementEntity, DependencyResolver and the sys_refindex lookups in between all address a record by the uid of its workspace version, and the live uid is derived data (ElementEntity data key "liveId"). The "publish" command is keyed by that very versioned uid, the legacy "version" command is keyed by the live uid and carries the versioned uid in "swapWith" - so both end up as the same element and only the command map key differs.
Parameters
- $commandMap : array<string|int, mixed>
- $workspace : int
Return values
array<string|int, mixed>resolveWorkspacesSetStageDependencies()
Resolves workspaces related dependencies for staging of the command map.
protected
resolveWorkspacesSetStageDependencies(array<string|int, mixed> $commandMap, int $workspace) : array<string|int, mixed>
Workspaces records that have children or (relative) parents which are versionized but not staged with this request, are removed from the command map.
Parameters
- $commandMap : array<string|int, mixed>
- $workspace : int