/** * {@inheritDoc} */ protected function loadFiletree(DataContainerInterface $objDc) { $table = $objDc->getEnvironment()->getDataDefinition()->getName(); $arrData['strTable'] = $table; $arrData['id'] = self::getAjaxName() ?: $objDc->getId(); $arrData['name'] = self::getPost('name'); /** @var \FileTree $objWidget */ $objWidget = new $GLOBALS['BE_FFL']['fileTree']($arrData, $objDc); // Load a particular node. if (self::getPost('folder', true) != '') { echo $objWidget->generateAjax(self::getPost('folder', true), self::getPost('field'), intval(self::getPost('level'))); } else { // Reload the whole tree. $user = \BackendUser::getInstance(); $strTree = ''; $path = $GLOBALS['TL_DCA'][$table]['fields'][self::getPost('field')]['eval']['path']; // Set a custom path. if (strlen($GLOBALS['TL_DCA'][$table]['fields'][self::getPost('field')]['eval']['path'])) { $strTree = $objWidget->generateAjax($GLOBALS['TL_DCA'][$table]['fields'][self::getPost('field')]['eval']['path'], self::getPost('field'), intval(self::getPost('level'))); } elseif ($user->isAdmin) { $strTree = $objWidget->generateAjax($GLOBALS['TL_CONFIG']['uploadPath'], self::getPost('field'), intval(self::getPost('level'))); } else { foreach ($this->eliminateNestedPaths($this->User->filemounts) as $node) { $strTree .= $objWidget->generateAjax($node, self::getPost('field'), intval(self::getPost('level')), true); } } echo $strTree; } exit; }