diff --git a/out/out.ViewFolder.php b/out/out.ViewFolder.php index 59bc41246..dae997085 100644 --- a/out/out.ViewFolder.php +++ b/out/out.ViewFolder.php @@ -59,7 +59,8 @@ if($view) { $view->setParam('folder', $folder); $view->setParam('orderby', $orderby); $view->setParam('enableFolderTree', $settings->_enableFolderTree); - $view->setParam('enableClipboard', $settings->_enableClipboard); + $view->setParam('enableClipboard', $settings->_enableClipboard); + $view->setParam('expandFolderTree', $settings->_expandFolderTree); $view->setParam('showtree', showtree()); $view->setParam('cachedir', $settings->_cacheDir); $view->setParam('workflowmode', $settings->_workflowMode); diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 4377ebdcf..d5370145c 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -985,16 +985,17 @@ function clearFilename() { * @params boolean $showdocs set to true if tree shall contain documents * as well. */ - function printNewTreeNavigation($folderid=0, $accessmode=M_READ, $showdocs=0, $formid='form1') { /* {{{ */ - function jqtree($path, $folder, $user, $accessmode, $showdocs=1) { - if($path) { - $pathfolder = array_shift($path); + function printNewTreeNavigation($folderid=0, $accessmode=M_READ, $showdocs=0, $formid='form1', $expandtree=0) { /* {{{ */ + function jqtree($path, $folder, $user, $accessmode, $showdocs=1, $expandtree=0) { + if($path || $expandtree) { + if($path) + $pathfolder = array_shift($path); $subfolders = $folder->getSubFolders(); $subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, $accessmode); $children = array(); foreach($subfolders as $subfolder) { $node = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>$subfolder->hasSubFolders() ? true : false, 'is_folder'=>true); - if($pathfolder->getID() == $subfolder->getID()) { + if($expandtree || $pathfolder->getID() == $subfolder->getID()) { if($showdocs) { $documents = $folder->getDocuments(); $documents = SeedDMS_Core_DMS::filterAccess($documents, $user, $accessmode); @@ -1003,7 +1004,7 @@ function clearFilename() { $children[] = $node2; } } - $node['children'] = jqtree($path, $subfolder, $user, $accessmode, $showdocs); + $node['children'] = jqtree($path, $subfolder, $user, $accessmode, $showdocs, $expandtree); } $children[] = $node; } @@ -1030,7 +1031,7 @@ function clearFilename() { $node['load_on_demand'] = false; $node['children'] = array(); } else { - $node['children'] = jqtree($path, $folder, $this->params['user'], $accessmode, $showdocs); + $node['children'] = jqtree($path, $folder, $this->params['user'], $accessmode, $showdocs, $expandtree); } $tree[] = $node; diff --git a/views/bootstrap/class.ViewFolder.php b/views/bootstrap/class.ViewFolder.php index 4eb0d23e7..6604bf17c 100644 --- a/views/bootstrap/class.ViewFolder.php +++ b/views/bootstrap/class.ViewFolder.php @@ -78,6 +78,7 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style { $orderby = $this->params['orderby']; $enableFolderTree = $this->params['enableFolderTree']; $enableClipboard = $this->params['enableClipboard']; + $expandFolderTree = $this->params['expandFolderTree']; $showtree = $this->params['showtree']; $cachedir = $this->params['cachedir']; $workflowmode = $this->params['workflowmode']; @@ -115,7 +116,7 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style { } printNewTreeNavigation($folderid, M_READ, 0, ''); + $this->printNewTreeNavigation($folderid, M_READ, 0, '', $expandFolderTree == 2); $this->contentContainerEnd(); } else { $this->contentHeading("", true);