Esempio n. 1
0
 /**
  * {@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;
 }