mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-05-13 21:21:27 +00:00
add command 'subtree', take substituted user into account
'subtree' is used by the new tree navigation which loadѕ subfolders and documents on demand
This commit is contained in:
parent
df24d475b9
commit
df18614f1f
|
@ -41,6 +41,11 @@ if (isset($_COOKIE["mydms_session"])) {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
$dms->setUser($user);
|
$dms->setUser($user);
|
||||||
|
if($user->isAdmin()) {
|
||||||
|
if($resArr["su"]) {
|
||||||
|
$user = $dms->getUser($resArr["su"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$user = null;
|
$user = null;
|
||||||
}
|
}
|
||||||
|
@ -99,5 +104,40 @@ switch($command) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'subtree':
|
||||||
|
if(empty($_GET['node']))
|
||||||
|
$nodeid = $settings->_rootFolderID;
|
||||||
|
else
|
||||||
|
$nodeid = (int) $_GET['node'];
|
||||||
|
if(empty($_GET['showdocs']))
|
||||||
|
$showdocs = false;
|
||||||
|
else
|
||||||
|
$showdocs = true;
|
||||||
|
|
||||||
|
$folder = $dms->getFolder($nodeid);
|
||||||
|
if (!is_object($folder)) return '';
|
||||||
|
|
||||||
|
$subfolders = $folder->getSubFolders();
|
||||||
|
$subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, M_READ);
|
||||||
|
$tree = array();
|
||||||
|
foreach($subfolders as $subfolder) {
|
||||||
|
$level = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>$subfolder->hasSubFolders() ? true : false, 'is_folder'=>true);
|
||||||
|
if(!$subfolder->hasSubFolders())
|
||||||
|
$level['children'] = array();
|
||||||
|
$tree[] = $level;
|
||||||
|
}
|
||||||
|
if($showdocs) {
|
||||||
|
$documents = $folder->getDocuments();
|
||||||
|
$documents = SeedDMS_Core_DMS::filterAccess($documents, $user, M_READ);
|
||||||
|
foreach($documents as $document) {
|
||||||
|
$level = array('label'=>$document->getName(), 'id'=>$document->getID(), 'load_on_demand'=>false, 'is_folder'=>false);
|
||||||
|
$tree[] = $level;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
echo json_encode($tree);
|
||||||
|
// echo json_encode(array(array('label'=>'test1', 'id'=>1, 'load_on_demand'=> true), array('label'=>'test2', 'id'=>2, 'load_on_demand'=> true)));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user