57 if (!isset($this->dependencyResolver)) {
59 $this->dependencyResolver->setOuterMostParentsRequireReferences(TRUE);
60 $this->dependencyResolver->setWorkspace($this->
getWorkspace());
62 $this->dependencyResolver->setEventCallback(
67 $this->dependencyResolver->setEventCallback(
72 $this->dependencyResolver->setEventCallback(
90 'TYPO3\\CMS\\Version\\Dependency\\EventCallback',
101 if (!isset($this->elementEntityProcessor)) {
103 'TYPO3\\CMS\\Version\\Dependency\\ElementEntityProcessor' 105 $this->elementEntityProcessor->setWorkspace($this->
getWorkspace());
116 return (
int)
$GLOBALS[
'BE_USER']->workspace;
128 $this->nestedDataArray = array();
132 if (empty($outerMostParents)) {
137 foreach ($outerMostParents as $outerMostParent) {
144 $processedDataArray = $this->
finalize($this->dataArray);
146 unset($this->dataArray);
147 unset($this->nestedDataArray);
149 return $processedDataArray;
160 $processedDataArray = array();
161 foreach ($dataArray as $dataElement) {
162 $dataElementIdentifier = $dataElement[
'id'];
163 $processedDataArray[] = $dataElement;
165 if (!empty($this->nestedDataArray[$dataElementIdentifier])) {
166 $processedDataArray = array_merge(
168 $this->
finalize($this->nestedDataArray[$dataElementIdentifier])
170 unset($this->nestedDataArray[$dataElementIdentifier]);
174 return $processedDataArray;
186 $parentIdentifier = $parent->__toString();
187 $parentIsSet = isset($this->dataArray[$parentIdentifier]);
194 $nextParentIdentifier = $parentIdentifier;
198 foreach ($parent->getChildren() as $child) {
200 $child->getElement(),
202 $nextParentIdentifier,
206 $childIdentifier = $child->getElement()->__toString();
207 if (!empty($nextParentIdentifier) && isset($this->dataArray[$childIdentifier])) {
211 $this->nestedDataArray[$nextParentIdentifier][] = $this->dataArray[$childIdentifier];
212 unset($this->dataArray[$childIdentifier]);
getDependencyCallback($method, array $targetArguments=array())
const GridColumn_CollectionChildren
const GridColumn_CollectionCurrent
const GridColumn_Collection
static makeInstance($className)
const EVENT_CreateParentReference
const GridColumn_CollectionLevel
finalize(array $dataArray)
process(array $dataArray)
getElementEntityProcessor()
resolveDataArrayChildDependencies(Dependency\ElementEntity $parent, $collection, $nextParentIdentifier='', $collectionLevel=0)
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]
const GridColumn_CollectionParent
const EVENT_CreateChildReference