mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-06-18 02:59:27 +00:00
split page into seperate views, click in tree just updates the views
a page reload isn't needed anymore
This commit is contained in:
parent
aed406b167
commit
bd99b078ca
|
@ -1593,11 +1593,11 @@ $(document).ready(function() {
|
||||||
if($path || $expandtree>=$level) {
|
if($path || $expandtree>=$level) {
|
||||||
if($path)
|
if($path)
|
||||||
$pathfolder = array_shift($path);
|
$pathfolder = array_shift($path);
|
||||||
|
$children = array();
|
||||||
$subfolders = $folder->getSubFolders(isset($orderby[0]) ? $orderby[0] : '', $orderdir);
|
$subfolders = $folder->getSubFolders(isset($orderby[0]) ? $orderby[0] : '', $orderdir);
|
||||||
$subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, $accessmode);
|
$subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, $accessmode);
|
||||||
$children = array();
|
|
||||||
foreach($subfolders as $subfolder) {
|
foreach($subfolders as $subfolder) {
|
||||||
$node = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>($subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs)) ? true : false, 'is_folder'=>true);
|
$node = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>($subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs)) ? false : false, 'is_folder'=>true);
|
||||||
if($expandtree>=$level || $pathfolder->getID() == $subfolder->getID()) {
|
if($expandtree>=$level || $pathfolder->getID() == $subfolder->getID()) {
|
||||||
$node['children'] = jqtree($path, $subfolder, $user, $accessmode, $showdocs, $expandtree, $orderby, $level+1);
|
$node['children'] = jqtree($path, $subfolder, $user, $accessmode, $showdocs, $expandtree, $orderby, $level+1);
|
||||||
if($showdocs) {
|
if($showdocs) {
|
||||||
|
@ -1617,7 +1617,7 @@ $(document).ready(function() {
|
||||||
$subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, $accessmode);
|
$subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, $accessmode);
|
||||||
$children = array();
|
$children = array();
|
||||||
foreach($subfolders as $subfolder) {
|
foreach($subfolders as $subfolder) {
|
||||||
$node = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>($subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs)) ? true : false, 'is_folder'=>true);
|
$node = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>($subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs)) ? false : false, 'is_folder'=>true);
|
||||||
$children[] = $node;
|
$children[] = $node;
|
||||||
}
|
}
|
||||||
return $children;
|
return $children;
|
||||||
|
@ -1636,7 +1636,7 @@ $(document).ready(function() {
|
||||||
$node['load_on_demand'] = false;
|
$node['load_on_demand'] = false;
|
||||||
$node['children'] = array();
|
$node['children'] = array();
|
||||||
} else {
|
} else {
|
||||||
$node['children'] = jqtree($path, $folder, $this->params['user'], $accessmode, $showdocs, $expandtree, $orderby, 0);
|
$node['children'] = jqtree($path, $folder, $this->params['user'], $accessmode, $showdocs, 0 /*$expandtree*/, $orderby, 0);
|
||||||
if($showdocs) {
|
if($showdocs) {
|
||||||
$documents = $folder->getDocuments(isset($orderby[0]) ? $orderby[0] : '', $orderdir);
|
$documents = $folder->getDocuments(isset($orderby[0]) ? $orderby[0] : '', $orderdir);
|
||||||
$documents = SeedDMS_Core_DMS::filterAccess($documents, $this->params['user'], $accessmode);
|
$documents = SeedDMS_Core_DMS::filterAccess($documents, $this->params['user'], $accessmode);
|
||||||
|
@ -1656,14 +1656,14 @@ $(document).ready(function() {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$root = $this->params['dms']->getFolder($this->params['rootfolderid']);
|
$root = $this->params['dms']->getFolder($this->params['rootfolderid']);
|
||||||
$tree = array(array('label'=>$root->getName(), 'id'=>$root->getID(), 'load_on_demand'=>true, 'is_folder'=>true));
|
$tree = array(array('label'=>$root->getName(), 'id'=>$root->getID(), 'load_on_demand'=>false, 'is_folder'=>true));
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
var data = <?php echo json_encode($tree); ?>;
|
var data = <?php echo json_encode($tree); ?>;
|
||||||
$(function() {
|
$(function() {
|
||||||
$('#jqtree<?php echo $formid ?>').tree({
|
$('#jqtree<?php echo $formid ?>').tree({
|
||||||
// saveState: true,
|
// saveState: true,
|
||||||
|
selectable: false,
|
||||||
data: data,
|
data: data,
|
||||||
saveState: 'jqtree<?php echo $formid; ?>',
|
saveState: 'jqtree<?php echo $formid; ?>',
|
||||||
openedIcon: $('<i class="icon-minus-sign"></i>'),
|
openedIcon: $('<i class="icon-minus-sign"></i>'),
|
||||||
|
@ -1687,17 +1687,19 @@ $(function() {
|
||||||
// Unfold node for currently selected folder
|
// Unfold node for currently selected folder
|
||||||
$('#jqtree<?php echo $formid ?>').tree('openNode', $('#jqtree<?php echo $formid ?>').tree('getNodeById', <?php echo $folderid ?>), false);
|
$('#jqtree<?php echo $formid ?>').tree('openNode', $('#jqtree<?php echo $formid ?>').tree('getNodeById', <?php echo $folderid ?>), false);
|
||||||
$('#jqtree<?php echo $formid ?>').on(
|
$('#jqtree<?php echo $formid ?>').on(
|
||||||
'tree.select',
|
'tree.click',
|
||||||
function(event) {
|
function(event) {
|
||||||
var node = event.node;
|
var node = event.node;
|
||||||
|
if(!node)
|
||||||
|
return;
|
||||||
$('#jqtree<?php echo $formid ?>').tree('openNode', node);
|
$('#jqtree<?php echo $formid ?>').tree('openNode', node);
|
||||||
// event.preventDefault();
|
// event.preventDefault();
|
||||||
if(node.is_folder) {
|
if(node.is_folder) {
|
||||||
if(typeof node.fetched == 'undefined') {
|
if(typeof node.fetched == 'undefined') {
|
||||||
node.fetched = true;
|
node.fetched = true;
|
||||||
$(this).tree('loadDataFromUrl', node, function () {
|
$(this).tree('loadDataFromUrl', node, function () {
|
||||||
$(this).tree('openNode', node);}
|
$(this).tree('openNode', node);
|
||||||
);
|
});
|
||||||
}
|
}
|
||||||
folderSelected<?php echo $formid ?>(node.id, node.name);
|
folderSelected<?php echo $formid ?>(node.id, node.name);
|
||||||
} else
|
} else
|
||||||
|
|
|
@ -105,7 +105,9 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style {
|
||||||
parent::jsTranslations(array('cancel', 'splash_move_document', 'confirm_move_document', 'move_document', 'confirm_transfer_link_document', 'transfer_content', 'link_document', 'splash_move_folder', 'confirm_move_folder', 'move_folder'));
|
parent::jsTranslations(array('cancel', 'splash_move_document', 'confirm_move_document', 'move_document', 'confirm_transfer_link_document', 'transfer_content', 'link_document', 'splash_move_folder', 'confirm_move_folder', 'move_folder'));
|
||||||
?>
|
?>
|
||||||
function folderSelected(id, name) {
|
function folderSelected(id, name) {
|
||||||
window.location = '../out/out.ViewFolder.php?folderid=' + id;
|
// window.location = '../out/out.ViewFolder.php?folderid=' + id;
|
||||||
|
console.log(id);
|
||||||
|
$('div.ajax').trigger('update', {folderid: id});
|
||||||
}
|
}
|
||||||
<?php if($maxItemsPerPage) { ?>
|
<?php if($maxItemsPerPage) { ?>
|
||||||
function loadMoreObjects(element, limit) {
|
function loadMoreObjects(element, limit) {
|
||||||
|
@ -159,6 +161,221 @@ $('#loadmore').click(function(e) {
|
||||||
$this->printDeleteDocumentButtonJs();
|
$this->printDeleteDocumentButtonJs();
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
function folderInfos() { /* {{{ */
|
||||||
|
$dms = $this->params['dms'];
|
||||||
|
$user = $this->params['user'];
|
||||||
|
$folder = $this->params['folder'];
|
||||||
|
|
||||||
|
$txt = $this->callHook('folderInfo', $folder);
|
||||||
|
if(is_string($txt))
|
||||||
|
echo $txt;
|
||||||
|
else {
|
||||||
|
|
||||||
|
$owner = $folder->getOwner();
|
||||||
|
$this->contentHeading(getMLText("folder_infos"));
|
||||||
|
$this->contentContainerStart();
|
||||||
|
echo "<table class=\"table-condensed\">\n";
|
||||||
|
if($user->isAdmin()) {
|
||||||
|
echo "<tr>";
|
||||||
|
echo "<td>".getMLText("id").":</td>\n";
|
||||||
|
echo "<td>".htmlspecialchars($folder->getID())."</td>\n";
|
||||||
|
echo "</tr>";
|
||||||
|
}
|
||||||
|
echo "<tr>";
|
||||||
|
echo "<td>".getMLText("owner").":</td>\n";
|
||||||
|
echo "<td><a href=\"mailto:".htmlspecialchars($owner->getEmail())."\">".htmlspecialchars($owner->getFullName())."</a></td>\n";
|
||||||
|
echo "</tr>";
|
||||||
|
echo "<tr>";
|
||||||
|
echo "<td>".getMLText("creation_date").":</td>";
|
||||||
|
echo "<td>".getLongReadableDate($folder->getDate())."</td>";
|
||||||
|
echo "</tr>";
|
||||||
|
if($folder->getComment()) {
|
||||||
|
echo "<tr>";
|
||||||
|
echo "<td>".getMLText("comment").":</td>\n";
|
||||||
|
echo "<td>".htmlspecialchars($folder->getComment())."</td>\n";
|
||||||
|
echo "</tr>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if($user->isAdmin()) {
|
||||||
|
echo "<tr>";
|
||||||
|
echo "<td>".getMLText('default_access').":</td>";
|
||||||
|
echo "<td>".$this->getAccessModeText($folder->getDefaultAccess())."</td>";
|
||||||
|
echo "</tr>";
|
||||||
|
if($folder->inheritsAccess()) {
|
||||||
|
echo "<tr>";
|
||||||
|
echo "<td>".getMLText("access_mode").":</td>\n";
|
||||||
|
echo "<td>";
|
||||||
|
echo getMLText("inherited")."<br />";
|
||||||
|
$this->printAccessList($folder);
|
||||||
|
echo "</tr>";
|
||||||
|
} else {
|
||||||
|
echo "<tr>";
|
||||||
|
echo "<td>".getMLText('access_mode').":</td>";
|
||||||
|
echo "<td>";
|
||||||
|
$this->printAccessList($folder);
|
||||||
|
echo "</td>";
|
||||||
|
echo "</tr>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$attributes = $folder->getAttributes();
|
||||||
|
if($attributes) {
|
||||||
|
foreach($attributes as $attribute) {
|
||||||
|
$arr = $this->callHook('showFolderAttribute', $folder, $attribute);
|
||||||
|
if(is_array($arr)) {
|
||||||
|
echo $txt;
|
||||||
|
echo "<tr>";
|
||||||
|
echo "<td>".$arr[0].":</td>";
|
||||||
|
echo "<td>".$arr[1].":</td>";
|
||||||
|
echo "</tr>";
|
||||||
|
} else {
|
||||||
|
$attrdef = $attribute->getAttributeDefinition();
|
||||||
|
?>
|
||||||
|
<tr>
|
||||||
|
<td><?php echo htmlspecialchars($attrdef->getName()); ?>:</td>
|
||||||
|
<td><?php echo htmlspecialchars(implode(', ', $attribute->getValueAsArray())); ?></td>
|
||||||
|
</tr>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "</table>\n";
|
||||||
|
$this->contentContainerEnd();
|
||||||
|
}
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
|
function folderList() { /* {{{ */
|
||||||
|
$dms = $this->params['dms'];
|
||||||
|
$user = $this->params['user'];
|
||||||
|
$folder = $this->params['folder'];
|
||||||
|
$folderid = $folder->getId();
|
||||||
|
$orderby = $this->params['orderby'];
|
||||||
|
$orderdir = (isset($orderby[1]) ? ($orderby[1] == 'd' ? 'desc' : 'asc') : 'asc');
|
||||||
|
$cachedir = $this->params['cachedir'];
|
||||||
|
$maxItemsPerPage = $this->params['maxItemsPerPage'];
|
||||||
|
$incItemsPerPage = $this->params['incItemsPerPage'];
|
||||||
|
$previewwidth = $this->params['previewWidthList'];
|
||||||
|
$previewconverters = $this->params['previewConverters'];
|
||||||
|
$timeout = $this->params['timeout'];
|
||||||
|
$xsendfile = $this->params['xsendfile'];
|
||||||
|
|
||||||
|
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
|
||||||
|
$previewer->setConverters($previewconverters);
|
||||||
|
|
||||||
|
$txt = $this->callHook('listHeader', $folder);
|
||||||
|
if(is_string($txt))
|
||||||
|
echo $txt;
|
||||||
|
else
|
||||||
|
$this->contentHeading(getMLText("folder_contents"));
|
||||||
|
|
||||||
|
$subFolders = $this->callHook('folderGetSubFolders', $folder, $orderby[0], $orderdir);
|
||||||
|
if($subFolders === null)
|
||||||
|
$subFolders = $folder->getSubFolders($orderby[0], $orderdir);
|
||||||
|
$subFolders = SeedDMS_Core_DMS::filterAccess($subFolders, $user, M_READ);
|
||||||
|
$documents = $this->callHook('folderGetDocuments', $folder, $orderby[0], $orderdir);
|
||||||
|
if($documents === null)
|
||||||
|
$documents = $folder->getDocuments($orderby[0], $orderdir);
|
||||||
|
$documents = SeedDMS_Core_DMS::filterAccess($documents, $user, M_READ);
|
||||||
|
|
||||||
|
$txt = $this->callHook('folderListPreContent', $folder, $subFolders, $documents);
|
||||||
|
if(is_string($txt))
|
||||||
|
echo $txt;
|
||||||
|
$i = 0;
|
||||||
|
if ((count($subFolders) > 0)||(count($documents) > 0)){
|
||||||
|
$txt = $this->callHook('folderListHeader', $folder, $orderby, $orderdir);
|
||||||
|
if(is_string($txt))
|
||||||
|
echo $txt;
|
||||||
|
else {
|
||||||
|
print "<table id=\"viewfolder-table\" class=\"table table-condensed table-hover\">";
|
||||||
|
print "<thead>\n<tr>\n";
|
||||||
|
print "<th></th>\n";
|
||||||
|
print "<th>".getMLText("name");
|
||||||
|
print " <a href=\"../out/out.ViewFolder.php?folderid=". $folderid .($orderby=="n"||$orderby=="na"?"&orderby=nd":"&orderby=n")."\" title=\"".getMLText("sort_by_name")."\">".($orderby=="n"||$orderby=="na"?' <i class="icon-sort-by-alphabet selected"></i>':($orderby=="nd"?' <i class="icon-sort-by-alphabet-alt selected"></i>':' <i class="icon-sort-by-alphabet"></i>'))."</a>";
|
||||||
|
print " <a href=\"../out/out.ViewFolder.php?folderid=". $folderid .($orderby=="s"||$orderby=="sa"?"&orderby=sd":"&orderby=s")."\" title=\"".getMLText("sort_by_sequence")."\">".($orderby=="s"||$orderby=="sa"?' <i class="icon-sort-by-order selected"></i>':($orderby=="sd"?' <i class="icon-sort-by-order-alt selected"></i>':' <i class="icon-sort-by-order"></i>'))."</a>";
|
||||||
|
print " <a href=\"../out/out.ViewFolder.php?folderid=". $folderid .($orderby=="d"||$orderby=="da"?"&orderby=dd":"&orderby=d")."\" title=\"".getMLText("sort_by_date")."\">".($orderby=="d"||$orderby=="da"?' <i class="icon-sort-by-attributes selected"></i>':($orderby=="dd"?' <i class="icon-sort-by-attributes-alt selected"></i>':' <i class="icon-sort-by-attributes"></i>'))."</a>";
|
||||||
|
print "</th>\n";
|
||||||
|
// print "<th>".getMLText("owner")."</th>\n";
|
||||||
|
print "<th>".getMLText("status")."</th>\n";
|
||||||
|
// print "<th>".getMLText("version")."</th>\n";
|
||||||
|
print "<th>".getMLText("action")."</th>\n";
|
||||||
|
print "</tr>\n</thead>\n<tbody>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($subFolders as $subFolder) {
|
||||||
|
if(!$maxItemsPerPage || $i < $maxItemsPerPage) {
|
||||||
|
$txt = $this->callHook('folderListItem', $subFolder, 'viewfolder');
|
||||||
|
if(is_string($txt))
|
||||||
|
echo $txt;
|
||||||
|
else {
|
||||||
|
echo $this->folderListRow($subFolder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($subFolders && $documents) {
|
||||||
|
if(!$maxItemsPerPage || $maxItemsPerPage > count($subFolders)) {
|
||||||
|
$txt = $this->callHook('folderListSeparator', $folder);
|
||||||
|
if(is_string($txt))
|
||||||
|
echo $txt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($documents as $document) {
|
||||||
|
if(!$maxItemsPerPage || $i < $maxItemsPerPage) {
|
||||||
|
$document->verifyLastestContentExpriry();
|
||||||
|
$txt = $this->callHook('documentListItem', $document, $previewer, false, 'viewfolder');
|
||||||
|
if(is_string($txt))
|
||||||
|
echo $txt;
|
||||||
|
else {
|
||||||
|
echo $this->documentListRow($document, $previewer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
$txt = $this->callHook('folderListFooter', $folder);
|
||||||
|
if(is_string($txt))
|
||||||
|
echo $txt;
|
||||||
|
else
|
||||||
|
echo "</tbody>\n</table>\n";
|
||||||
|
|
||||||
|
if($maxItemsPerPage && $i > $maxItemsPerPage)
|
||||||
|
echo "<button id=\"loadmore\" style=\"width: 100%; margin-bottom: 20px;\" class=\"btn btn-default\" data-folder=\"".$folder->getId()."\"data-offset=\"".$maxItemsPerPage."\" data-limit=\"".$incItemsPerPage."\" data-all=\"".($i-$maxItemsPerPage)."\">".getMLText('x_more_objects', array('number'=>($i-$maxItemsPerPage)))."</button>";
|
||||||
|
}
|
||||||
|
else printMLText("empty_folder_list");
|
||||||
|
|
||||||
|
$txt = $this->callHook('folderListPostContent', $folder, $subFolders, $documents);
|
||||||
|
if(is_string($txt))
|
||||||
|
echo $txt;
|
||||||
|
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
|
function navigation() { /* {{{ */
|
||||||
|
$dms = $this->params['dms'];
|
||||||
|
$user = $this->params['user'];
|
||||||
|
$folder = $this->params['folder'];
|
||||||
|
|
||||||
|
$txt = $this->callHook('folderMenu', $folder);
|
||||||
|
if(is_string($txt))
|
||||||
|
echo $txt;
|
||||||
|
else {
|
||||||
|
$this->pageNavigation($this->getFolderPathHTML($folder), "view_folder", $folder);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo $this->callHook('preContent');
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
|
function dropUpload() { /* {{{ */
|
||||||
|
$dms = $this->params['dms'];
|
||||||
|
$user = $this->params['user'];
|
||||||
|
$folder = $this->params['folder'];
|
||||||
|
|
||||||
|
$this->contentHeading(getMLText("dropupload"), true);
|
||||||
|
?>
|
||||||
|
<div id="dragandrophandler" class="well alert" data-droptarget="folder_<?php echo $folder->getID(); ?>" data-target="<?php echo $folder->getID(); ?>" data-uploadformtoken="<?php echo createFormKey(''); ?>"><?php printMLText('drop_files_here'); ?></div>
|
||||||
|
<?php
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
function entries() { /* {{{ */
|
function entries() { /* {{{ */
|
||||||
$dms = $this->params['dms'];
|
$dms = $this->params['dms'];
|
||||||
$user = $this->params['user'];
|
$user = $this->params['user'];
|
||||||
|
@ -254,25 +471,20 @@ $('#loadmore').click(function(e) {
|
||||||
$xsendfile = $this->params['xsendfile'];
|
$xsendfile = $this->params['xsendfile'];
|
||||||
|
|
||||||
$folderid = $folder->getId();
|
$folderid = $folder->getId();
|
||||||
|
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
|
||||||
|
$previewer->setConverters($previewconverters);
|
||||||
|
|
||||||
$this->htmlAddHeader('<script type="text/javascript" src="../styles/'.$this->theme.'/bootbox/bootbox.min.js"></script>'."\n", 'js');
|
$this->htmlAddHeader('<script type="text/javascript" src="../styles/'.$this->theme.'/bootbox/bootbox.min.js"></script>'."\n", 'js');
|
||||||
|
|
||||||
echo $this->callHook('startPage');
|
echo $this->callHook('startPage');
|
||||||
$this->htmlStartPage(getMLText("folder_title", array("foldername" => htmlspecialchars($folder->getName()))));
|
$this->htmlStartPage(getMLText("folder_title", array("foldername" => htmlspecialchars($folder->getName()))));
|
||||||
|
|
||||||
$this->globalNavigation($folder);
|
$this->globalNavigation($folder);
|
||||||
$this->contentStart();
|
$this->contentStart();
|
||||||
$txt = $this->callHook('folderMenu', $folder);
|
|
||||||
if(is_string($txt))
|
|
||||||
echo $txt;
|
|
||||||
else {
|
|
||||||
$this->pageNavigation($this->getFolderPathHTML($folder), "view_folder", $folder);
|
|
||||||
}
|
|
||||||
|
|
||||||
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
|
// $this->navigation();
|
||||||
$previewer->setConverters($previewconverters);
|
?>
|
||||||
|
<div class="ajax" data-view="ViewFolder" data-action="navigation" data-no-spinner="true" <?php echo ($folder ? "data-query=\"folderid=".$folder->getID()."\"" : "") ?>></div>
|
||||||
echo $this->callHook('preContent');
|
<?php
|
||||||
|
|
||||||
echo "<div class=\"row-fluid\">\n";
|
echo "<div class=\"row-fluid\">\n";
|
||||||
|
|
||||||
|
@ -313,184 +525,27 @@ $('#loadmore').click(function(e) {
|
||||||
echo "<div class=\"row-fluid\">";
|
echo "<div class=\"row-fluid\">";
|
||||||
echo "<div class=\"span8\">";
|
echo "<div class=\"span8\">";
|
||||||
}
|
}
|
||||||
$txt = $this->callHook('folderInfo', $folder);
|
|
||||||
if(is_string($txt))
|
|
||||||
echo $txt;
|
|
||||||
else {
|
|
||||||
|
|
||||||
$owner = $folder->getOwner();
|
// $this->folderInfos();
|
||||||
$this->contentHeading(getMLText("folder_infos"));
|
?>
|
||||||
$this->contentContainerStart();
|
<div class="ajax" data-view="ViewFolder" data-action="folderInfos" data-no-spinner="true" <?php echo ($folder ? "data-query=\"folderid=".$folder->getID()."\"" : "") ?>></div>
|
||||||
echo "<table class=\"table-condensed\">\n";
|
|
||||||
if($user->isAdmin()) {
|
|
||||||
echo "<tr>";
|
|
||||||
echo "<td>".getMLText("id").":</td>\n";
|
|
||||||
echo "<td>".htmlspecialchars($folder->getID())."</td>\n";
|
|
||||||
echo "</tr>";
|
|
||||||
}
|
|
||||||
echo "<tr>";
|
|
||||||
echo "<td>".getMLText("owner").":</td>\n";
|
|
||||||
echo "<td><a href=\"mailto:".htmlspecialchars($owner->getEmail())."\">".htmlspecialchars($owner->getFullName())."</a></td>\n";
|
|
||||||
echo "</tr>";
|
|
||||||
echo "<tr>";
|
|
||||||
echo "<td>".getMLText("creation_date").":</td>";
|
|
||||||
echo "<td>".getLongReadableDate($folder->getDate())."</td>";
|
|
||||||
echo "</tr>";
|
|
||||||
if($folder->getComment()) {
|
|
||||||
echo "<tr>";
|
|
||||||
echo "<td>".getMLText("comment").":</td>\n";
|
|
||||||
echo "<td>".htmlspecialchars($folder->getComment())."</td>\n";
|
|
||||||
echo "</tr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
if($user->isAdmin()) {
|
|
||||||
echo "<tr>";
|
|
||||||
echo "<td>".getMLText('default_access').":</td>";
|
|
||||||
echo "<td>".$this->getAccessModeText($folder->getDefaultAccess())."</td>";
|
|
||||||
echo "</tr>";
|
|
||||||
if($folder->inheritsAccess()) {
|
|
||||||
echo "<tr>";
|
|
||||||
echo "<td>".getMLText("access_mode").":</td>\n";
|
|
||||||
echo "<td>";
|
|
||||||
echo getMLText("inherited")."<br />";
|
|
||||||
$this->printAccessList($folder);
|
|
||||||
echo "</tr>";
|
|
||||||
} else {
|
|
||||||
echo "<tr>";
|
|
||||||
echo "<td>".getMLText('access_mode').":</td>";
|
|
||||||
echo "<td>";
|
|
||||||
$this->printAccessList($folder);
|
|
||||||
echo "</td>";
|
|
||||||
echo "</tr>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$attributes = $folder->getAttributes();
|
|
||||||
if($attributes) {
|
|
||||||
foreach($attributes as $attribute) {
|
|
||||||
$arr = $this->callHook('showFolderAttribute', $folder, $attribute);
|
|
||||||
if(is_array($arr)) {
|
|
||||||
echo $txt;
|
|
||||||
echo "<tr>";
|
|
||||||
echo "<td>".$arr[0].":</td>";
|
|
||||||
echo "<td>".$arr[1].":</td>";
|
|
||||||
echo "</tr>";
|
|
||||||
} else {
|
|
||||||
$attrdef = $attribute->getAttributeDefinition();
|
|
||||||
?>
|
|
||||||
<tr>
|
|
||||||
<td><?php echo htmlspecialchars($attrdef->getName()); ?>:</td>
|
|
||||||
<td><?php echo htmlspecialchars(implode(', ', $attribute->getValueAsArray())); ?></td>
|
|
||||||
</tr>
|
|
||||||
<?php
|
<?php
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
echo "</table>\n";
|
|
||||||
$this->contentContainerEnd();
|
|
||||||
}
|
|
||||||
if ($enableDropUpload && $folder->getAccessMode($user) >= M_READWRITE) {
|
if ($enableDropUpload && $folder->getAccessMode($user) >= M_READWRITE) {
|
||||||
echo "</div>";
|
echo "</div>";
|
||||||
echo "<div class=\"span4\">";
|
echo "<div class=\"span4\">";
|
||||||
$this->contentHeading(getMLText("dropupload"), true);
|
// $this->dropUpload();
|
||||||
// $this->addFooterJS("SeedDMSUpload.setUrl('../op/op.Ajax.php');");
|
|
||||||
// $this->addFooterJS("SeedDMSUpload.setAbortBtnLabel('".getMLText("cancel")."');");
|
|
||||||
// $this->addFooterJS("SeedDMSUpload.setEditBtnLabel('".getMLText("edit_document_props")."');");
|
|
||||||
// $this->addFooterJS("SeedDMSUpload.setMaxFileSize(".SeedDMS_Core_File::parse_filesize(ini_get("upload_max_filesize")).");");
|
|
||||||
// $this->addFooterJS("SeedDMSUpload.setMaxFileSizeMsg('".getMLText("uploading_maxsize")."');");
|
|
||||||
?>
|
?>
|
||||||
<div id="dragandrophandler" class="well alert" data-droptarget="folder_<?php echo $folder->getID(); ?>" data-target="<?php echo $folder->getID(); ?>" data-uploadformtoken="<?php echo createFormKey(''); ?>"><?php printMLText('drop_files_here'); ?></div>
|
<div class="ajax" data-view="ViewFolder" data-action="dropUpload" <?php echo ($folder ? "data-query=\"folderid=".$folder->getID()."\"" : "") ?>></div>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
echo "</div>";
|
echo "</div>";
|
||||||
echo "</div>";
|
echo "</div>";
|
||||||
}
|
}
|
||||||
|
|
||||||
$txt = $this->callHook('listHeader', $folder);
|
// $this->folderList();
|
||||||
if(is_string($txt))
|
?>
|
||||||
echo $txt;
|
<div class="ajax" data-view="ViewFolder" data-action="folderList" <?php echo ($folder ? "data-query=\"folderid=".$folder->getID()."\"" : "") ?>></div>
|
||||||
else
|
<?php
|
||||||
$this->contentHeading(getMLText("folder_contents"));
|
|
||||||
|
|
||||||
$subFolders = $this->callHook('folderGetSubFolders', $folder, $orderby[0], $orderdir);
|
|
||||||
if($subFolders === null)
|
|
||||||
$subFolders = $folder->getSubFolders($orderby[0], $orderdir);
|
|
||||||
$subFolders = SeedDMS_Core_DMS::filterAccess($subFolders, $user, M_READ);
|
|
||||||
$documents = $this->callHook('folderGetDocuments', $folder, $orderby[0], $orderdir);
|
|
||||||
if($documents === null)
|
|
||||||
$documents = $folder->getDocuments($orderby[0], $orderdir);
|
|
||||||
$documents = SeedDMS_Core_DMS::filterAccess($documents, $user, M_READ);
|
|
||||||
|
|
||||||
$txt = $this->callHook('folderListPreContent', $folder, $subFolders, $documents);
|
|
||||||
if(is_string($txt))
|
|
||||||
echo $txt;
|
|
||||||
$i = 0;
|
|
||||||
if ((count($subFolders) > 0)||(count($documents) > 0)){
|
|
||||||
$txt = $this->callHook('folderListHeader', $folder, $orderby, $orderdir);
|
|
||||||
if(is_string($txt))
|
|
||||||
echo $txt;
|
|
||||||
else {
|
|
||||||
print "<table id=\"viewfolder-table\" class=\"table table-condensed table-hover\">";
|
|
||||||
print "<thead>\n<tr>\n";
|
|
||||||
print "<th></th>\n";
|
|
||||||
print "<th>".getMLText("name");
|
|
||||||
print " <a href=\"../out/out.ViewFolder.php?folderid=". $folderid .($orderby=="n"||$orderby=="na"?"&orderby=nd":"&orderby=n")."\" title=\"".getMLText("sort_by_name")."\">".($orderby=="n"||$orderby=="na"?' <i class="icon-sort-by-alphabet selected"></i>':($orderby=="nd"?' <i class="icon-sort-by-alphabet-alt selected"></i>':' <i class="icon-sort-by-alphabet"></i>'))."</a>";
|
|
||||||
print " <a href=\"../out/out.ViewFolder.php?folderid=". $folderid .($orderby=="s"||$orderby=="sa"?"&orderby=sd":"&orderby=s")."\" title=\"".getMLText("sort_by_sequence")."\">".($orderby=="s"||$orderby=="sa"?' <i class="icon-sort-by-order selected"></i>':($orderby=="sd"?' <i class="icon-sort-by-order-alt selected"></i>':' <i class="icon-sort-by-order"></i>'))."</a>";
|
|
||||||
print " <a href=\"../out/out.ViewFolder.php?folderid=". $folderid .($orderby=="d"||$orderby=="da"?"&orderby=dd":"&orderby=d")."\" title=\"".getMLText("sort_by_date")."\">".($orderby=="d"||$orderby=="da"?' <i class="icon-sort-by-attributes selected"></i>':($orderby=="dd"?' <i class="icon-sort-by-attributes-alt selected"></i>':' <i class="icon-sort-by-attributes"></i>'))."</a>";
|
|
||||||
print "</th>\n";
|
|
||||||
// print "<th>".getMLText("owner")."</th>\n";
|
|
||||||
print "<th>".getMLText("status")."</th>\n";
|
|
||||||
// print "<th>".getMLText("version")."</th>\n";
|
|
||||||
print "<th>".getMLText("action")."</th>\n";
|
|
||||||
print "</tr>\n</thead>\n<tbody>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach($subFolders as $subFolder) {
|
|
||||||
if(!$maxItemsPerPage || $i < $maxItemsPerPage) {
|
|
||||||
$txt = $this->callHook('folderListItem', $subFolder, 'viewfolder');
|
|
||||||
if(is_string($txt))
|
|
||||||
echo $txt;
|
|
||||||
else {
|
|
||||||
echo $this->folderListRow($subFolder);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($subFolders && $documents) {
|
|
||||||
if(!$maxItemsPerPage || $maxItemsPerPage > count($subFolders)) {
|
|
||||||
$txt = $this->callHook('folderListSeparator', $folder);
|
|
||||||
if(is_string($txt))
|
|
||||||
echo $txt;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach($documents as $document) {
|
|
||||||
if(!$maxItemsPerPage || $i < $maxItemsPerPage) {
|
|
||||||
$document->verifyLastestContentExpriry();
|
|
||||||
$txt = $this->callHook('documentListItem', $document, $previewer, false, 'viewfolder');
|
|
||||||
if(is_string($txt))
|
|
||||||
echo $txt;
|
|
||||||
else {
|
|
||||||
echo $this->documentListRow($document, $previewer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
|
|
||||||
$txt = $this->callHook('folderListFooter', $folder);
|
|
||||||
if(is_string($txt))
|
|
||||||
echo $txt;
|
|
||||||
else
|
|
||||||
echo "</tbody>\n</table>\n";
|
|
||||||
|
|
||||||
if($maxItemsPerPage && $i > $maxItemsPerPage)
|
|
||||||
echo "<button id=\"loadmore\" style=\"width: 100%; margin-bottom: 20px;\" class=\"btn btn-default\" data-folder=\"".$folder->getId()."\"data-offset=\"".$maxItemsPerPage."\" data-limit=\"".$incItemsPerPage."\" data-all=\"".($i-$maxItemsPerPage)."\">".getMLText('x_more_objects', array('number'=>($i-$maxItemsPerPage)))."</button>";
|
|
||||||
}
|
|
||||||
else printMLText("empty_folder_list");
|
|
||||||
|
|
||||||
$txt = $this->callHook('folderListPostContent', $folder, $subFolders, $documents);
|
|
||||||
if(is_string($txt))
|
|
||||||
echo $txt;
|
|
||||||
|
|
||||||
echo "</div>\n"; // End of right column div
|
echo "</div>\n"; // End of right column div
|
||||||
echo "</div>\n"; // End of div around left and right column
|
echo "</div>\n"; // End of div around left and right column
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user