mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-06 15:14:58 +00:00
the subtree command from op.Ajax.php has been moved into the views
This commit is contained in:
parent
19727e3e4e
commit
1d2b44a8d9
|
@ -151,6 +151,7 @@ switch($command) {
|
|||
}
|
||||
break; /* }}} */
|
||||
|
||||
/* The subtree command is deprecated. It has been moved into view */
|
||||
case 'subtree': /* {{{ */
|
||||
if($user) {
|
||||
if(empty($_GET['node']))
|
||||
|
|
|
@ -29,14 +29,33 @@ require_once("inc/inc.DBInit.php");
|
|||
require_once("inc/inc.ClassUI.php");
|
||||
require_once("inc/inc.Authentication.php");
|
||||
|
||||
$folderid = intval($_GET["folderid"]);
|
||||
$form = preg_replace('/[^A-Za-z0-9_]+/', '', $_GET["form"]);
|
||||
if(isset($_GET['action']) && $_GET['action'] == 'subtree') {
|
||||
if (!isset($_GET["node"]) || !is_numeric($_GET["node"]) || intval($_GET["node"])<1) {
|
||||
$nodeid = $settings->_rootFolderID;
|
||||
} else {
|
||||
$nodeid = intval($_GET["node"]);
|
||||
}
|
||||
|
||||
$folder = $dms->getFolder($folderid);
|
||||
$node = $dms->getFolder($nodeid);
|
||||
if (!is_object($node)) {
|
||||
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))), getMLText("invalid_folder_id"));
|
||||
}
|
||||
} else {
|
||||
$folderid = intval($_GET["folderid"]);
|
||||
$folder = $dms->getFolder($folderid);
|
||||
$form = preg_replace('/[^A-Za-z0-9_]+/', '', $_GET["form"]);
|
||||
}
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'form'=>$form));
|
||||
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
if($view) {
|
||||
if(isset($_GET['action']) && $_GET['action'] == 'subtree') {
|
||||
$view->setParam('node', $node);
|
||||
$view->setParam('orderby', $settings->_sortFoldersDefault);
|
||||
} else {
|
||||
$view->setParam('folder', $folder);
|
||||
$view->setParam('form', $form);
|
||||
}
|
||||
$view($_GET);
|
||||
exit;
|
||||
}
|
||||
|
|
|
@ -28,13 +28,34 @@ require_once("inc/inc.DBInit.php");
|
|||
require_once("inc/inc.ClassUI.php");
|
||||
require_once("inc/inc.Authentication.php");
|
||||
|
||||
$form = preg_replace('/[^A-Za-z0-9_]+/', '', $_GET["form"]);
|
||||
$mode = intval($_GET["mode"]);
|
||||
$exclude = intval($_GET["exclude"]);
|
||||
if(isset($_GET['action']) && $_GET['action'] == 'subtree') {
|
||||
if (isset($_GET["node"]) || !is_numeric($_GET["node"]) || intval($_GET["node"])<1) {
|
||||
$nodeid = $settings->_rootFolderID;
|
||||
} else {
|
||||
$nodeid = intval($_GET["node"]);
|
||||
}
|
||||
|
||||
$node = $dms->getFolder($nodeid);
|
||||
if (!is_object($node)) {
|
||||
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))), getMLText("invalid_folder_id"));
|
||||
}
|
||||
} else {
|
||||
$form = preg_replace('/[^A-Za-z0-9_]+/', '', $_GET["form"]);
|
||||
$mode = intval($_GET["mode"]);
|
||||
$exclude = intval($_GET["exclude"]);
|
||||
}
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'rootfolderid'=>$settings->_rootFolderID, 'form'=>$form, 'mode'=>$mode, 'exclude'=>$exclude));
|
||||
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'rootfolderid'=>$settings->_rootFolderID));
|
||||
if($view) {
|
||||
if(isset($_GET['action']) && $_GET['action'] == 'subtree') {
|
||||
$view->setParam('node', $node);
|
||||
$view->setParam('orderby', $settings->_sortFoldersDefault);
|
||||
} else {
|
||||
$view->setParam('form', $form);
|
||||
$view->setParam('mode', $mode);
|
||||
$view->setParam('exclude', $exclude);
|
||||
}
|
||||
$view($_GET);
|
||||
exit;
|
||||
}
|
||||
|
|
|
@ -45,6 +45,19 @@ if (!is_object($folder)) {
|
|||
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))), getMLText("invalid_folder_id"));
|
||||
}
|
||||
|
||||
if(isset($_GET['action']) && $_GET['action'] == 'subtree') {
|
||||
if (!isset($_GET["node"]) || !is_numeric($_GET["node"]) || intval($_GET["node"])<1) {
|
||||
$nodeid = $settings->_rootFolderID;
|
||||
} else {
|
||||
$nodeid = intval($_GET["node"]);
|
||||
}
|
||||
|
||||
$node = $dms->getFolder($nodeid);
|
||||
if (!is_object($node)) {
|
||||
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))), getMLText("invalid_folder_id"));
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_GET["orderby"]) && strlen($_GET["orderby"])>0 ) {
|
||||
$orderby=$_GET["orderby"];
|
||||
} else $orderby=$settings->_sortFoldersDefault;
|
||||
|
@ -62,6 +75,8 @@ if ($folder->getAccessMode($user) < M_READ) {
|
|||
}
|
||||
|
||||
if($view) {
|
||||
if(isset($_GET['action']) && $_GET['action'] == 'subtree')
|
||||
$view->setParam('node', $node);
|
||||
$view->setParam('folder', $folder);
|
||||
$view->setParam('orderby', $orderby);
|
||||
$view->setParam('enableFolderTree', $settings->_enableFolderTree);
|
||||
|
|
|
@ -346,7 +346,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
|
|||
if($this->params['dropfolderdir'] && $this->params['enabledropfolderlist']) {
|
||||
echo " <div id=\"menu-dropfolder\">";
|
||||
echo " <div class=\"ajax\" data-no-spinner=\"true\" data-view=\"DropFolderChooser\" data-action=\"menuList\"";
|
||||
if ($folder!=null && is_object($folder) && !strcasecmp(get_class($folder), $dms->getClassname('folder')))
|
||||
if ($folder!=null && is_object($folder) && $folder->isType('folder'))
|
||||
echo " data-query=\"folderid=".$folder->getID()."\"";
|
||||
echo "></div>";
|
||||
echo " </div>";
|
||||
|
@ -373,7 +373,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
|
|||
}
|
||||
echo " </ul>\n";
|
||||
echo " <form action=\"../out/out.Search.php\" class=\"form-inline navbar-search pull-left\" autocomplete=\"off\">";
|
||||
if ($folder!=null && is_object($folder) && !strcasecmp(get_class($folder), $dms->getClassname('folder'))) {
|
||||
if ($folder!=null && is_object($folder) && $folder->isType('folder')) {
|
||||
echo " <input type=\"hidden\" name=\"folderid\" value=\"".$folder->getID()."\" />";
|
||||
}
|
||||
echo " <input type=\"hidden\" name=\"navBar\" value=\"1\" />";
|
||||
|
@ -478,7 +478,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
|
|||
|
||||
private function folderNavigationBar($folder) { /* {{{ */
|
||||
$dms = $this->params['dms'];
|
||||
if (!is_object($folder) || strcasecmp(get_class($folder), $dms->getClassname('folder'))) {
|
||||
if (!is_object($folder) || !$folder->isType('folder')) {
|
||||
echo "<ul class=\"nav\">\n";
|
||||
echo "</ul>\n";
|
||||
return;
|
||||
|
@ -1570,7 +1570,8 @@ $(document).ready(function() {
|
|||
} /* }}} */
|
||||
|
||||
function printNewTreeNavigationHtml($folderid=0, $accessmode=M_READ, $showdocs=0, $formid='form1', $expandtree=0, $orderby='') { /* {{{ */
|
||||
echo "<div id=\"jqtree".$formid."\" style=\"margin-left: 10px;\" data-url=\"../op/op.Ajax.php?command=subtree&showdocs=".$showdocs."&orderby=".$orderby."\"></div>\n";
|
||||
//echo "<div id=\"jqtree".$formid."\" style=\"margin-left: 10px;\" data-url=\"../op/op.Ajax.php?command=subtree&showdocs=".$showdocs."&orderby=".$orderby."\"></div>\n";
|
||||
echo "<div id=\"jqtree".$formid."\" style=\"margin-left: 10px;\" data-url=\"".$_SERVER['SCRIPT_NAME']."?action=subtree\"></div>\n";
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
|
@ -1731,6 +1732,39 @@ $(function() {
|
|||
<?php
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Return json data for sub tree of navigation tree
|
||||
*/
|
||||
function printNewTreeNavigationSubtree($folderid, $showdocs=0, $orderby='') { /* {{{ */
|
||||
$dms = $this->params['dms'];
|
||||
$user = $this->params['user'];
|
||||
|
||||
$folder = $dms->getFolder($folderid);
|
||||
if (!is_object($folder)) return '';
|
||||
|
||||
$subfolders = $folder->getSubFolders($orderby);
|
||||
$subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, M_READ);
|
||||
$tree = array();
|
||||
foreach($subfolders as $subfolder) {
|
||||
$loadondemand = $subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs);
|
||||
$level = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>$loadondemand, 'is_folder'=>true);
|
||||
if(!$subfolder->hasSubFolders())
|
||||
$level['children'] = array();
|
||||
$tree[] = $level;
|
||||
}
|
||||
if($showdocs) {
|
||||
$documents = $folder->getDocuments($orderby);
|
||||
$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;
|
||||
}
|
||||
}
|
||||
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode($tree);
|
||||
} /* }}} */
|
||||
|
||||
function printTreeNavigation($folderid, $showtree){ /* {{{ */
|
||||
if ($showtree==1){
|
||||
$this->contentHeading("<a href=\"../out/out.ViewFolder.php?folderid=". $folderid."&showtree=0\"><i class=\"icon-minus-sign\"></i></a>", true);
|
||||
|
|
|
@ -31,6 +31,14 @@ require_once("class.Bootstrap.php");
|
|||
*/
|
||||
class SeedDMS_View_DocumentChooser extends SeedDMS_Bootstrap_Style {
|
||||
|
||||
public function subtree() { /* {{{ */
|
||||
$user = $this->params['user'];
|
||||
$node = $this->params['node'];
|
||||
$orderby = $this->params['orderby'];
|
||||
|
||||
$this->printNewTreeNavigationSubtree($node->getID(), 1, $orderby);
|
||||
} /* }}} */
|
||||
|
||||
function js() { /* {{{ */
|
||||
$folder = $this->params['folder'];
|
||||
$form = $this->params['form'];
|
||||
|
|
|
@ -31,6 +31,14 @@ require_once("class.Bootstrap.php");
|
|||
*/
|
||||
class SeedDMS_View_FolderChooser extends SeedDMS_Bootstrap_Style {
|
||||
|
||||
public function subtree() { /* {{{ */
|
||||
$user = $this->params['user'];
|
||||
$node = $this->params['node'];
|
||||
$orderby = $this->params['orderby'];
|
||||
|
||||
$this->printNewTreeNavigationSubtree($node->getID(), 0, $orderby);
|
||||
} /* }}} */
|
||||
|
||||
function js() { /* {{{ */
|
||||
$rootfolderid = $this->params['rootfolderid'];
|
||||
$form = $this->params['form'];
|
||||
|
|
|
@ -83,7 +83,15 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style {
|
|||
}
|
||||
} /* }}} */
|
||||
|
||||
function js() { /* {{{ */
|
||||
public function subtree() { /* {{{ */
|
||||
$user = $this->params['user'];
|
||||
$node = $this->params['node'];
|
||||
$orderby = $this->params['orderby'];
|
||||
|
||||
$this->printNewTreeNavigationSubtree($node->getID(), 0, $orderby);
|
||||
} /* }}} */
|
||||
|
||||
public function js() { /* {{{ */
|
||||
$user = $this->params['user'];
|
||||
$folder = $this->params['folder'];
|
||||
$orderby = $this->params['orderby'];
|
||||
|
|
Loading…
Reference in New Issue
Block a user