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)
|
||||
$pathfolder = array_shift($path);
|
||||
$children = array();
|
||||
$subfolders = $folder->getSubFolders(isset($orderby[0]) ? $orderby[0] : '', $orderdir);
|
||||
$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() || ($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()) {
|
||||
$node['children'] = jqtree($path, $subfolder, $user, $accessmode, $showdocs, $expandtree, $orderby, $level+1);
|
||||
if($showdocs) {
|
||||
|
@ -1617,7 +1617,7 @@ $(document).ready(function() {
|
|||
$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() || ($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;
|
||||
}
|
||||
return $children;
|
||||
|
@ -1636,7 +1636,7 @@ $(document).ready(function() {
|
|||
$node['load_on_demand'] = false;
|
||||
$node['children'] = array();
|
||||
} 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) {
|
||||
$documents = $folder->getDocuments(isset($orderby[0]) ? $orderby[0] : '', $orderdir);
|
||||
$documents = SeedDMS_Core_DMS::filterAccess($documents, $this->params['user'], $accessmode);
|
||||
|
@ -1656,14 +1656,14 @@ $(document).ready(function() {
|
|||
|
||||
} else {
|
||||
$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); ?>;
|
||||
$(function() {
|
||||
$('#jqtree<?php echo $formid ?>').tree({
|
||||
// saveState: true,
|
||||
selectable: false,
|
||||
data: data,
|
||||
saveState: 'jqtree<?php echo $formid; ?>',
|
||||
openedIcon: $('<i class="icon-minus-sign"></i>'),
|
||||
|
@ -1687,17 +1687,19 @@ $(function() {
|
|||
// 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 ?>').on(
|
||||
'tree.select',
|
||||
'tree.click',
|
||||
function(event) {
|
||||
var node = event.node;
|
||||
if(!node)
|
||||
return;
|
||||
$('#jqtree<?php echo $formid ?>').tree('openNode', node);
|
||||
// event.preventDefault();
|
||||
if(node.is_folder) {
|
||||
if(typeof node.fetched == 'undefined') {
|
||||
node.fetched = true;
|
||||
$(this).tree('loadDataFromUrl', node, function () {
|
||||
$(this).tree('openNode', node);}
|
||||
);
|
||||
$(this).tree('openNode', node);
|
||||
});
|
||||
}
|
||||
folderSelected<?php echo $formid ?>(node.id, node.name);
|
||||
} 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'));
|
||||
?>
|
||||
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) { ?>
|
||||
function loadMoreObjects(element, limit) {
|
||||
|
@ -159,6 +161,221 @@ $('#loadmore').click(function(e) {
|
|||
$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() { /* {{{ */
|
||||
$dms = $this->params['dms'];
|
||||
$user = $this->params['user'];
|
||||
|
@ -254,25 +471,20 @@ $('#loadmore').click(function(e) {
|
|||
$xsendfile = $this->params['xsendfile'];
|
||||
|
||||
$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');
|
||||
|
||||
echo $this->callHook('startPage');
|
||||
$this->htmlStartPage(getMLText("folder_title", array("foldername" => htmlspecialchars($folder->getName()))));
|
||||
|
||||
$this->globalNavigation($folder);
|
||||
$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);
|
||||
$previewer->setConverters($previewconverters);
|
||||
|
||||
echo $this->callHook('preContent');
|
||||
// $this->navigation();
|
||||
?>
|
||||
<div class="ajax" data-view="ViewFolder" data-action="navigation" data-no-spinner="true" <?php echo ($folder ? "data-query=\"folderid=".$folder->getID()."\"" : "") ?>></div>
|
||||
<?php
|
||||
|
||||
echo "<div class=\"row-fluid\">\n";
|
||||
|
||||
|
@ -313,184 +525,27 @@ $('#loadmore').click(function(e) {
|
|||
echo "<div class=\"row-fluid\">";
|
||||
echo "<div class=\"span8\">";
|
||||
}
|
||||
$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>
|
||||
// $this->folderInfos();
|
||||
?>
|
||||
<div class="ajax" data-view="ViewFolder" data-action="folderInfos" data-no-spinner="true" <?php echo ($folder ? "data-query=\"folderid=".$folder->getID()."\"" : "") ?>></div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
}
|
||||
echo "</table>\n";
|
||||
$this->contentContainerEnd();
|
||||
}
|
||||
if ($enableDropUpload && $folder->getAccessMode($user) >= M_READWRITE) {
|
||||
echo "</div>";
|
||||
echo "<div class=\"span4\">";
|
||||
$this->contentHeading(getMLText("dropupload"), true);
|
||||
// $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")."');");
|
||||
// $this->dropUpload();
|
||||
?>
|
||||
<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
|
||||
|
||||
echo "</div>";
|
||||
echo "</div>";
|
||||
}
|
||||
|
||||
$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;
|
||||
|
||||
// $this->folderList();
|
||||
?>
|
||||
<div class="ajax" data-view="ViewFolder" data-action="folderList" <?php echo ($folder ? "data-query=\"folderid=".$folder->getID()."\"" : "") ?>></div>
|
||||
<?php
|
||||
echo "</div>\n"; // End of right column div
|
||||
echo "</div>\n"; // End of div around left and right column
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user