mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-06 23:24:57 +00:00
add methods to show list headers and columns of doc/folder lists
This commit is contained in:
parent
3f0cbc50bd
commit
5c93d53e60
|
@ -2830,6 +2830,44 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
return $belowtitle;
|
return $belowtitle;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
public function folderListHeaderImage() { /* {{{ */
|
||||||
|
$folder = $this->getParam('folder');
|
||||||
|
$onepage = $this->params['onepage'];
|
||||||
|
$parent = ($folder && $onepage) ? $folder->getParent() : null;
|
||||||
|
$headcol = ($parent ? '<button class="btn btn-mini btn-secondary btn-sm" id="goto-parent" data-parentid="'.$parent->getID().'"><i class="fa fa-arrow-up"></i></button>' : '')."</th>\n";
|
||||||
|
return $headcol;
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
|
public function folderListHeaderName() { /* {{{ */
|
||||||
|
$folder = $this->getParam('folder');
|
||||||
|
$headcol = getMLText("name");
|
||||||
|
if($folder) {
|
||||||
|
$folderid = $folder->getId();
|
||||||
|
$orderby = $this->params['orderby'];
|
||||||
|
$orderdir = (isset($orderby[1]) ? ($orderby[1] == 'd' ? 'desc' : 'asc') : 'asc');
|
||||||
|
$headcol .= " <a class=\"order-btn\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderid .($orderby=="n"||$orderby=="na"?"&orderby=nd":"&orderby=n")."\" data-orderby=\"".($orderby=="n"||$orderby=="na"?"nd":"n")."\"title=\"".getMLText("sort_by_name")."\">".($orderby=="n"||$orderby=="na"?' <i class="fa fa-sort-alpha-asc selected"></i>':($orderby=="nd"?' <i class="fa fa-sort-alpha-desc selected"></i>':' <i class="fa fa-sort-alpha-asc"></i>'))."</a>";
|
||||||
|
$headcol .= " <a class=\"order-btn\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderid .($orderby=="s"||$orderby=="sa"?"&orderby=sd":"&orderby=s")."\" data-orderby=\"".($orderby=="s"||$orderby=="sa"?"sd":"s")."\" title=\"".getMLText("sort_by_sequence")."\">".($orderby=="s"||$orderby=="sa"?' <i class="fa fa-sort-numeric-asc selected"></i>':($orderby=="sd"?' <i class="fa fa-sort-numeric-desc selected"></i>':' <i class="fa fa-sort-numeric-asc"></i>'))."</a>";
|
||||||
|
$headcol .= " <a class=\"order-btn\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderid .($orderby=="d"||$orderby=="da"?"&orderby=dd":"&orderby=d")."\" data-orderby=\"".($orderby=="d"||$orderby=="da"?"dd":"d")."\" title=\"".getMLText("sort_by_date")."\">".($orderby=="d"||$orderby=="da"?' <i class="fa fa-sort-amount-asc selected"></i>':($orderby=="dd"?' <i class="fa fa-sort-amount-desc selected"></i>':' <i class="fa fa-sort-amount-asc"></i>'))."</a>";
|
||||||
|
}
|
||||||
|
return $headcol;
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
|
public function folderListHeader() { /* {{{ */
|
||||||
|
$content = "<table id=\"viewfolder-table\" class=\"table table-condensed table-sm table-hover\">";
|
||||||
|
$content .= "<thead>\n<tr>\n";
|
||||||
|
$headcols = array();
|
||||||
|
$headcols['image'] = $this->folderListHeaderImage();
|
||||||
|
$headcols['name'] = $this->folderListHeaderName();
|
||||||
|
if($ec = $this->callHook('folderListHeaderExtraColumns'))
|
||||||
|
$headcols = array_merge($headcols, $ec);
|
||||||
|
$headcols['status'] = getMLText("status");
|
||||||
|
$headcols['action'] = getMLText("action");
|
||||||
|
foreach($headcols as $headcol)
|
||||||
|
$content .= "<th>".$headcol."</th>\n";
|
||||||
|
$content .= "</tr>\n</thead>\n";
|
||||||
|
return $content;
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Start the row for a folder in list of documents and folders
|
* Start the row for a folder in list of documents and folders
|
||||||
*
|
*
|
||||||
|
@ -2845,6 +2883,46 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
return "</tr>\n";
|
return "</tr>\n";
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
function documentListRowAction($document, $previewer, $skipcont=false, $version=0, $extracontent=array()) { /* {{{ */
|
||||||
|
$user = $this->params['user'];
|
||||||
|
$enableClipboard = $this->params['enableclipboard'];
|
||||||
|
$accessop = $this->params['accessobject'];
|
||||||
|
$onepage = $this->params['onepage'];
|
||||||
|
|
||||||
|
$content = '';
|
||||||
|
$content .= "<div class=\"list-action\">";
|
||||||
|
if(!empty($extracontent['begin_action_list']))
|
||||||
|
$content .= $extracontent['begin_action_list'];
|
||||||
|
if($accessop->check_view_access('RemoveDocument')) {
|
||||||
|
if($document->getAccessMode($user) >= M_ALL) {
|
||||||
|
$content .= $this->printDeleteDocumentButton($document, 'splash_rm_document', true);
|
||||||
|
} else {
|
||||||
|
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-remove"></i></span>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$docID = $document->getID();
|
||||||
|
if($document->getAccessMode($user) >= M_READWRITE) {
|
||||||
|
$content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.EditDocument.php?documentid='.$docID.'" title="'.getMLText("edit_document_props").'"><i class="fa fa-edit"></i></a>';
|
||||||
|
} else {
|
||||||
|
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>';
|
||||||
|
}
|
||||||
|
if($document->getAccessMode($user) >= M_READWRITE) {
|
||||||
|
$content .= $this->printLockButton($document, 'splash_document_locked', 'splash_document_unlocked', true);
|
||||||
|
}
|
||||||
|
if($document->getAccessMode($user) >= M_READWRITE) {
|
||||||
|
$content .= $this->printAccessButton($document, true);
|
||||||
|
}
|
||||||
|
if($enableClipboard) {
|
||||||
|
$content .= '<a class="addtoclipboard" rel="D'.$docID.'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>';
|
||||||
|
}
|
||||||
|
if($onepage)
|
||||||
|
$content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewDocument.php?documentid='.$docID.'" title="'.getMLText("view_document").'"><i class="fa fa-eye"></i></a>';
|
||||||
|
if(!empty($extracontent['end_action_list']))
|
||||||
|
$content .= $extracontent['end_action_list'];
|
||||||
|
$content .= "</div>";
|
||||||
|
return $content;
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return HTML of a single row in the document list table
|
* Return HTML of a single row in the document list table
|
||||||
*
|
*
|
||||||
|
@ -2906,6 +2984,9 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
$revlinks = $document->getReverseDocumentLinks();
|
$revlinks = $document->getReverseDocumentLinks();
|
||||||
$revlinks = SeedDMS_Core_DMS::filterDocumentLinks($user, $revlinks);
|
$revlinks = SeedDMS_Core_DMS::filterDocumentLinks($user, $revlinks);
|
||||||
|
|
||||||
|
if($ec = $this->callHook('documentListRowExtraContent', $document, $latestContent))
|
||||||
|
$extracontent = array_merge($extracontent, $ec);
|
||||||
|
|
||||||
$content .= "<td>";
|
$content .= "<td>";
|
||||||
if (file_exists($dms->contentDir . $latestContent->getPath())) {
|
if (file_exists($dms->contentDir . $latestContent->getPath())) {
|
||||||
$previewhtml = $this->callHook('documentListPreview', $previewer, $document, $latestContent);
|
$previewhtml = $this->callHook('documentListPreview', $previewer, $document, $latestContent);
|
||||||
|
@ -2950,6 +3031,11 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
$content .= $extracontent['bottom_title'];
|
$content .= $extracontent['bottom_title'];
|
||||||
$content .= "</td>\n";
|
$content .= "</td>\n";
|
||||||
|
|
||||||
|
if(!empty($extracontent['columns'])) {
|
||||||
|
foreach($extracontent['columns'] as $col)
|
||||||
|
$content .= '<td>'.$col.'</td>';
|
||||||
|
}
|
||||||
|
|
||||||
$content .= "<td nowrap>";
|
$content .= "<td nowrap>";
|
||||||
$attentionstr = '';
|
$attentionstr = '';
|
||||||
if ( $document->isLocked() ) {
|
if ( $document->isLocked() ) {
|
||||||
|
@ -2966,43 +3052,14 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
if(count($links) || count($revlinks))
|
if(count($links) || count($revlinks))
|
||||||
$content .= count($links)."/".count($revlinks)." ".getMLText("linked_documents")."<br />";
|
$content .= count($links)."/".count($revlinks)." ".getMLText("linked_documents")."<br />";
|
||||||
if($status["status"] == S_IN_WORKFLOW && $workflowmode == 'advanced') {
|
if($status["status"] == S_IN_WORKFLOW && $workflowmode == 'advanced') {
|
||||||
$workflowstate = $latestContent->getWorkflowState();
|
if($workflowstate = $latestContent->getWorkflowState())
|
||||||
$content .= '<span title="'.getOverallStatusText($status["status"]).': '.($workflow ? htmlspecialchars($workflow->getName()) : '').'">'.($workflowstate ? htmlspecialchars($workflowstate->getName()) : '').'</span>';
|
$content .= '<span title="'.getOverallStatusText($status["status"]).': '.($workflow ? htmlspecialchars($workflow->getName()) : '').'">'.($workflowstate ? htmlspecialchars($workflowstate->getName()) : '').'</span>';
|
||||||
} else {
|
} else {
|
||||||
$content .= getOverallStatusText($status["status"]);
|
$content .= getOverallStatusText($status["status"]);
|
||||||
}
|
}
|
||||||
$content .= "</small></td>";
|
$content .= "</small></td>";
|
||||||
// $content .= "<td>".$version."</td>";
|
|
||||||
$content .= "<td>";
|
$content .= "<td>";
|
||||||
$content .= "<div class=\"list-action\">";
|
$content .= $this->documentListRowAction($document, $previewer, $skipcont, $version, $extracontent);
|
||||||
if(!empty($extracontent['begin_action_list']))
|
|
||||||
$content .= $extracontent['begin_action_list'];
|
|
||||||
if($accessop->check_view_access('RemoveDocument')) {
|
|
||||||
if($document->getAccessMode($user) >= M_ALL) {
|
|
||||||
$content .= $this->printDeleteDocumentButton($document, 'splash_rm_document', true);
|
|
||||||
} else {
|
|
||||||
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-remove"></i></span>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if($document->getAccessMode($user) >= M_READWRITE) {
|
|
||||||
$content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.EditDocument.php?documentid='.$docID.'" title="'.getMLText("edit_document_props").'"><i class="fa fa-edit"></i></a>';
|
|
||||||
} else {
|
|
||||||
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>';
|
|
||||||
}
|
|
||||||
if($document->getAccessMode($user) >= M_READWRITE) {
|
|
||||||
$content .= $this->printLockButton($document, 'splash_document_locked', 'splash_document_unlocked', true);
|
|
||||||
}
|
|
||||||
if($document->getAccessMode($user) >= M_READWRITE) {
|
|
||||||
$content .= $this->printAccessButton($document, true);
|
|
||||||
}
|
|
||||||
if($enableClipboard) {
|
|
||||||
$content .= '<a class="addtoclipboard" rel="D'.$docID.'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>';
|
|
||||||
}
|
|
||||||
if($onepage)
|
|
||||||
$content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewDocument.php?documentid='.$docID.'" title="'.getMLText("view_document").'"><i class="fa fa-eye"></i></a>';
|
|
||||||
if(!empty($extracontent['end_action_list']))
|
|
||||||
$content .= $extracontent['end_action_list'];
|
|
||||||
$content .= "</div>";
|
|
||||||
$content .= "</td>";
|
$content .= "</td>";
|
||||||
if(!$skipcont)
|
if(!$skipcont)
|
||||||
$content .= $this->documentListRowEnd($document);
|
$content .= $this->documentListRowEnd($document);
|
||||||
|
@ -3050,6 +3107,48 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
return "</tr>\n";
|
return "</tr>\n";
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
function folderListRowAction($subFolder, $skipcont=false, $extracontent=array()) { /* {{{ */
|
||||||
|
$dms = $this->params['dms'];
|
||||||
|
$user = $this->params['user'];
|
||||||
|
// $folder = $this->params['folder'];
|
||||||
|
$showtree = $this->params['showtree'];
|
||||||
|
$enableRecursiveCount = $this->params['enableRecursiveCount'];
|
||||||
|
$maxRecursiveCount = $this->params['maxRecursiveCount'];
|
||||||
|
$enableClipboard = $this->params['enableclipboard'];
|
||||||
|
$accessop = $this->params['accessobject'];
|
||||||
|
$onepage = $this->params['onepage'];
|
||||||
|
|
||||||
|
$content = '';
|
||||||
|
$content .= "<div class=\"list-action\">";
|
||||||
|
if(!empty($extracontent['begin_action_list']))
|
||||||
|
$content .= $extracontent['begin_action_list'];
|
||||||
|
$subFolderAccessMode = $subFolder->getAccessMode($user);
|
||||||
|
if ($accessop->check_view_access('RemoveFolder')) {
|
||||||
|
if($subFolderAccessMode >= M_ALL) {
|
||||||
|
$content .= $this->printDeleteFolderButton($subFolder, 'splash_rm_folder', true);
|
||||||
|
} else {
|
||||||
|
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-remove"></i></span>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if($subFolderAccessMode >= M_READWRITE) {
|
||||||
|
$content .= '<a class_="btn btn-mini" href="'.$this->params['settings']->_httpRoot.'out/out.EditFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("edit_folder_props").'"><i class="fa fa-edit"></i></a>';
|
||||||
|
} else {
|
||||||
|
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>';
|
||||||
|
}
|
||||||
|
if($subFolderAccessMode >= M_READWRITE) {
|
||||||
|
$content .= $this->printAccessButton($subFolder, true);
|
||||||
|
}
|
||||||
|
if($enableClipboard) {
|
||||||
|
$content .= '<a class="addtoclipboard" rel="F'.$subFolder->getID().'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>';
|
||||||
|
}
|
||||||
|
if($onepage)
|
||||||
|
$content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("view_folder").'"><i class="fa fa-eye"></i></a>';
|
||||||
|
if(!empty($extracontent['end_action_list']))
|
||||||
|
$content .= $extracontent['end_action_list'];
|
||||||
|
$content .= "</div>";
|
||||||
|
return $content;
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
function folderListRow($subFolder, $skipcont=false, $extracontent=array()) { /* {{{ */
|
function folderListRow($subFolder, $skipcont=false, $extracontent=array()) { /* {{{ */
|
||||||
$dms = $this->params['dms'];
|
$dms = $this->params['dms'];
|
||||||
$user = $this->params['user'];
|
$user = $this->params['user'];
|
||||||
|
@ -3068,6 +3167,9 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
$comment = $subFolder->getComment();
|
$comment = $subFolder->getComment();
|
||||||
if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "...";
|
if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "...";
|
||||||
|
|
||||||
|
if($ec = $this->callHook('folderListRowExtraContent', $subFolder))
|
||||||
|
$extracontent = array_merge($extracontent, $ec);
|
||||||
|
|
||||||
$content = '';
|
$content = '';
|
||||||
if(!$skipcont)
|
if(!$skipcont)
|
||||||
$content .= $this->folderListRowStart($subFolder);
|
$content .= $this->folderListRowStart($subFolder);
|
||||||
|
@ -3114,35 +3216,8 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
$content .= count($subsub)." ".getMLText("folders")."<br />".count($subdoc)." ".getMLText("documents");
|
$content .= count($subsub)." ".getMLText("folders")."<br />".count($subdoc)." ".getMLText("documents");
|
||||||
}
|
}
|
||||||
$content .= "</small></td>";
|
$content .= "</small></td>";
|
||||||
// $content .= "<td></td>";
|
|
||||||
$content .= "<td>";
|
$content .= "<td>";
|
||||||
$content .= "<div class=\"list-action\">";
|
$content .= $this->folderListRowAction($subFolder, $skipcont, $extracontent);
|
||||||
if(!empty($extracontent['begin_action_list']))
|
|
||||||
$content .= $extracontent['begin_action_list'];
|
|
||||||
$subFolderAccessMode = $subFolder->getAccessMode($user);
|
|
||||||
if ($accessop->check_view_access('RemoveFolder')) {
|
|
||||||
if($subFolderAccessMode >= M_ALL) {
|
|
||||||
$content .= $this->printDeleteFolderButton($subFolder, 'splash_rm_folder', true);
|
|
||||||
} else {
|
|
||||||
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-remove"></i></span>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if($subFolderAccessMode >= M_READWRITE) {
|
|
||||||
$content .= '<a class_="btn btn-mini" href="'.$this->params['settings']->_httpRoot.'out/out.EditFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("edit_folder_props").'"><i class="fa fa-edit"></i></a>';
|
|
||||||
} else {
|
|
||||||
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>';
|
|
||||||
}
|
|
||||||
if($subFolderAccessMode >= M_READWRITE) {
|
|
||||||
$content .= $this->printAccessButton($subFolder, true);
|
|
||||||
}
|
|
||||||
if($enableClipboard) {
|
|
||||||
$content .= '<a class="addtoclipboard" rel="F'.$subFolder->getID().'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>';
|
|
||||||
}
|
|
||||||
if($onepage)
|
|
||||||
$content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("view_folder").'"><i class="fa fa-eye"></i></a>';
|
|
||||||
if(!empty($extracontent['end_action_list']))
|
|
||||||
$content .= $extracontent['end_action_list'];
|
|
||||||
$content .= "</div>";
|
|
||||||
$content .= "</td>";
|
$content .= "</td>";
|
||||||
if(!$skipcont)
|
if(!$skipcont)
|
||||||
$content .= $this->folderListRowEnd($subFolder);
|
$content .= $this->folderListRowEnd($subFolder);
|
||||||
|
|
|
@ -151,7 +151,10 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
function htmlAddHeader($head, $type='js') { /* {{{ */
|
function htmlAddHeader($head, $type='js') { /* {{{ */
|
||||||
$this->extraheader[$type] .= $head;
|
if($type == 'logo' || $type == 'favicon')
|
||||||
|
$this->extraheader[$type] = $head;
|
||||||
|
else
|
||||||
|
$this->extraheader[$type] .= $head;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
function htmlAddJsHeader($script) { /* {{{ */
|
function htmlAddJsHeader($script) { /* {{{ */
|
||||||
|
@ -2892,6 +2895,44 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
return $belowtitle;
|
return $belowtitle;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
public function folderListHeaderImage() { /* {{{ */
|
||||||
|
$folder = $this->getParam('folder');
|
||||||
|
$onepage = $this->params['onepage'];
|
||||||
|
$parent = ($folder && $onepage) ? $folder->getParent() : null;
|
||||||
|
$headcol = ($parent ? '<button class="btn btn-mini btn-secondary btn-sm" id="goto-parent" data-parentid="'.$parent->getID().'"><i class="fa fa-arrow-up"></i></button>' : '')."</th>\n";
|
||||||
|
return $headcol;
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
|
public function folderListHeaderName() { /* {{{ */
|
||||||
|
$folder = $this->getParam('folder');
|
||||||
|
$headcol = getMLText("name");
|
||||||
|
if($folder) {
|
||||||
|
$folderid = $folder->getId();
|
||||||
|
$orderby = $this->params['orderby'];
|
||||||
|
$orderdir = (isset($orderby[1]) ? ($orderby[1] == 'd' ? 'desc' : 'asc') : 'asc');
|
||||||
|
$headcol .= " <a class=\"order-btn\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderid .($orderby=="n"||$orderby=="na"?"&orderby=nd":"&orderby=n")."\" data-orderby=\"".($orderby=="n"||$orderby=="na"?"nd":"n")."\"title=\"".getMLText("sort_by_name")."\">".($orderby=="n"||$orderby=="na"?' <i class="fa fa-sort-alpha-asc selected"></i>':($orderby=="nd"?' <i class="fa fa-sort-alpha-desc selected"></i>':' <i class="fa fa-sort-alpha-asc"></i>'))."</a>";
|
||||||
|
$headcol .= " <a class=\"order-btn\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderid .($orderby=="s"||$orderby=="sa"?"&orderby=sd":"&orderby=s")."\" data-orderby=\"".($orderby=="s"||$orderby=="sa"?"sd":"s")."\" title=\"".getMLText("sort_by_sequence")."\">".($orderby=="s"||$orderby=="sa"?' <i class="fa fa-sort-numeric-asc selected"></i>':($orderby=="sd"?' <i class="fa fa-sort-numeric-desc selected"></i>':' <i class="fa fa-sort-numeric-asc"></i>'))."</a>";
|
||||||
|
$headcol .= " <a class=\"order-btn\" href=\"".$this->params['settings']->_httpRoot."out/out.ViewFolder.php?folderid=". $folderid .($orderby=="d"||$orderby=="da"?"&orderby=dd":"&orderby=d")."\" data-orderby=\"".($orderby=="d"||$orderby=="da"?"dd":"d")."\" title=\"".getMLText("sort_by_date")."\">".($orderby=="d"||$orderby=="da"?' <i class="fa fa-sort-amount-asc selected"></i>':($orderby=="dd"?' <i class="fa fa-sort-amount-desc selected"></i>':' <i class="fa fa-sort-amount-asc"></i>'))."</a>";
|
||||||
|
}
|
||||||
|
return $headcol;
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
|
public function folderListHeader() { /* {{{ */
|
||||||
|
$content = "<table id=\"viewfolder-table\" class=\"table table-condensed table-sm table-hover\">";
|
||||||
|
$content .= "<thead>\n<tr>\n";
|
||||||
|
$headcols = array();
|
||||||
|
$headcols['image'] = $this->folderListHeaderImage();
|
||||||
|
$headcols['name'] = $this->folderListHeaderName();
|
||||||
|
if($ec = $this->callHook('folderListHeaderExtraColumns'))
|
||||||
|
$headcols = array_merge($headcols, $ec);
|
||||||
|
$headcols['status'] = getMLText("status");
|
||||||
|
$headcols['action'] = getMLText("action");
|
||||||
|
foreach($headcols as $headcol)
|
||||||
|
$content .= "<th>".$headcol."</th>\n";
|
||||||
|
$content .= "</tr>\n</thead>\n";
|
||||||
|
return $content;
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Start the row for a folder in list of documents and folders
|
* Start the row for a folder in list of documents and folders
|
||||||
*
|
*
|
||||||
|
@ -2913,6 +2954,46 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
return "</tr>\n";
|
return "</tr>\n";
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
function documentListRowAction($document, $previewer, $skipcont=false, $version=0, $extracontent=array()) { /* {{{ */
|
||||||
|
$user = $this->params['user'];
|
||||||
|
$enableClipboard = $this->params['enableclipboard'];
|
||||||
|
$accessop = $this->params['accessobject'];
|
||||||
|
$onepage = $this->params['onepage'];
|
||||||
|
|
||||||
|
$content = '';
|
||||||
|
$content .= "<div class=\"list-action\">";
|
||||||
|
if(!empty($extracontent['begin_action_list']))
|
||||||
|
$content .= $extracontent['begin_action_list'];
|
||||||
|
if($accessop->check_view_access('RemoveDocument')) {
|
||||||
|
if($document->getAccessMode($user) >= M_ALL) {
|
||||||
|
$content .= $this->printDeleteDocumentButton($document, 'splash_rm_document', true);
|
||||||
|
} else {
|
||||||
|
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-remove"></i></span>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$docID = $document->getID();
|
||||||
|
if($document->getAccessMode($user) >= M_READWRITE) {
|
||||||
|
$content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.EditDocument.php?documentid='.$docID.'" title="'.getMLText("edit_document_props").'"><i class="fa fa-edit"></i></a>';
|
||||||
|
} else {
|
||||||
|
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>';
|
||||||
|
}
|
||||||
|
if($document->getAccessMode($user) >= M_READWRITE) {
|
||||||
|
$content .= $this->printLockButton($document, 'splash_document_locked', 'splash_document_unlocked', true);
|
||||||
|
}
|
||||||
|
if($document->getAccessMode($user) >= M_READWRITE) {
|
||||||
|
$content .= $this->printAccessButton($document, true);
|
||||||
|
}
|
||||||
|
if($enableClipboard) {
|
||||||
|
$content .= '<a class="addtoclipboard" rel="D'.$docID.'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>';
|
||||||
|
}
|
||||||
|
if($onepage)
|
||||||
|
$content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewDocument.php?documentid='.$docID.'" title="'.getMLText("view_document").'"><i class="fa fa-eye"></i></a>';
|
||||||
|
if(!empty($extracontent['end_action_list']))
|
||||||
|
$content .= $extracontent['end_action_list'];
|
||||||
|
$content .= "</div>";
|
||||||
|
return $content;
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return HTML of a single row in the document list table
|
* Return HTML of a single row in the document list table
|
||||||
*
|
*
|
||||||
|
@ -2974,6 +3055,9 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
$revlinks = $document->getReverseDocumentLinks();
|
$revlinks = $document->getReverseDocumentLinks();
|
||||||
$revlinks = SeedDMS_Core_DMS::filterDocumentLinks($user, $revlinks);
|
$revlinks = SeedDMS_Core_DMS::filterDocumentLinks($user, $revlinks);
|
||||||
|
|
||||||
|
if($ec = $this->callHook('documentListRowExtraContent', $document, $latestContent))
|
||||||
|
$extracontent = array_merge($extracontent, $ec);
|
||||||
|
|
||||||
$content .= "<td>";
|
$content .= "<td>";
|
||||||
if (file_exists($dms->contentDir . $latestContent->getPath())) {
|
if (file_exists($dms->contentDir . $latestContent->getPath())) {
|
||||||
$previewhtml = $this->callHook('documentListPreview', $previewer, $document, $latestContent);
|
$previewhtml = $this->callHook('documentListPreview', $previewer, $document, $latestContent);
|
||||||
|
@ -3018,6 +3102,11 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
$content .= $extracontent['bottom_title'];
|
$content .= $extracontent['bottom_title'];
|
||||||
$content .= "</td>\n";
|
$content .= "</td>\n";
|
||||||
|
|
||||||
|
if(!empty($extracontent['columns'])) {
|
||||||
|
foreach($extracontent['columns'] as $col)
|
||||||
|
$content .= '<td>'.$col.'</td>';
|
||||||
|
}
|
||||||
|
|
||||||
$content .= "<td nowrap>";
|
$content .= "<td nowrap>";
|
||||||
$attentionstr = '';
|
$attentionstr = '';
|
||||||
if ( $document->isLocked() ) {
|
if ( $document->isLocked() ) {
|
||||||
|
@ -3034,43 +3123,14 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
if(count($links) || count($revlinks))
|
if(count($links) || count($revlinks))
|
||||||
$content .= count($links)."/".count($revlinks)." ".getMLText("linked_documents")."<br />";
|
$content .= count($links)."/".count($revlinks)." ".getMLText("linked_documents")."<br />";
|
||||||
if($status["status"] == S_IN_WORKFLOW && $workflowmode == 'advanced') {
|
if($status["status"] == S_IN_WORKFLOW && $workflowmode == 'advanced') {
|
||||||
$workflowstate = $latestContent->getWorkflowState();
|
if($workflowstate = $latestContent->getWorkflowState())
|
||||||
$content .= '<span title="'.getOverallStatusText($status["status"]).': '.($workflow ? htmlspecialchars($workflow->getName()) : '').'">'.($workflowstate ? htmlspecialchars($workflowstate->getName()) : '').'</span>';
|
$content .= '<span title="'.getOverallStatusText($status["status"]).': '.($workflow ? htmlspecialchars($workflow->getName()) : '').'">'.($workflowstate ? htmlspecialchars($workflowstate->getName()) : '').'</span>';
|
||||||
} else {
|
} else {
|
||||||
$content .= getOverallStatusText($status["status"]);
|
$content .= getOverallStatusText($status["status"]);
|
||||||
}
|
}
|
||||||
$content .= "</small></td>";
|
$content .= "</small></td>";
|
||||||
// $content .= "<td>".$version."</td>";
|
|
||||||
$content .= "<td>";
|
$content .= "<td>";
|
||||||
$content .= "<div class=\"list-action\">";
|
$content .= $this->documentListRowAction($document, $previewer, $skipcont, $version, $extracontent);
|
||||||
if(!empty($extracontent['begin_action_list']))
|
|
||||||
$content .= $extracontent['begin_action_list'];
|
|
||||||
if($accessop->check_view_access('RemoveDocument')) {
|
|
||||||
if($document->getAccessMode($user) >= M_ALL) {
|
|
||||||
$content .= $this->printDeleteDocumentButton($document, 'splash_rm_document', true);
|
|
||||||
} else {
|
|
||||||
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-remove"></i></span>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if($document->getAccessMode($user) >= M_READWRITE) {
|
|
||||||
$content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.EditDocument.php?documentid='.$docID.'" title="'.getMLText("edit_document_props").'"><i class="fa fa-edit"></i></a>';
|
|
||||||
} else {
|
|
||||||
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>';
|
|
||||||
}
|
|
||||||
if($document->getAccessMode($user) >= M_READWRITE) {
|
|
||||||
$content .= $this->printLockButton($document, 'splash_document_locked', 'splash_document_unlocked', true);
|
|
||||||
}
|
|
||||||
if($document->getAccessMode($user) >= M_READWRITE) {
|
|
||||||
$content .= $this->printAccessButton($document, true);
|
|
||||||
}
|
|
||||||
if($enableClipboard) {
|
|
||||||
$content .= '<a class="addtoclipboard" rel="D'.$docID.'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>';
|
|
||||||
}
|
|
||||||
if($onepage)
|
|
||||||
$content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewDocument.php?documentid='.$docID.'" title="'.getMLText("view_document").'"><i class="fa fa-eye"></i></a>';
|
|
||||||
if(!empty($extracontent['end_action_list']))
|
|
||||||
$content .= $extracontent['end_action_list'];
|
|
||||||
$content .= "</div>";
|
|
||||||
$content .= "</td>";
|
$content .= "</td>";
|
||||||
if(!$skipcont)
|
if(!$skipcont)
|
||||||
$content .= $this->documentListRowEnd($document);
|
$content .= $this->documentListRowEnd($document);
|
||||||
|
@ -3118,6 +3178,48 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
return "</tr>\n";
|
return "</tr>\n";
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
function folderListRowAction($subFolder, $skipcont=false, $extracontent=array()) { /* {{{ */
|
||||||
|
$dms = $this->params['dms'];
|
||||||
|
$user = $this->params['user'];
|
||||||
|
// $folder = $this->params['folder'];
|
||||||
|
$showtree = $this->params['showtree'];
|
||||||
|
$enableRecursiveCount = $this->params['enableRecursiveCount'];
|
||||||
|
$maxRecursiveCount = $this->params['maxRecursiveCount'];
|
||||||
|
$enableClipboard = $this->params['enableclipboard'];
|
||||||
|
$accessop = $this->params['accessobject'];
|
||||||
|
$onepage = $this->params['onepage'];
|
||||||
|
|
||||||
|
$content = '';
|
||||||
|
$content .= "<div class=\"list-action\">";
|
||||||
|
if(!empty($extracontent['begin_action_list']))
|
||||||
|
$content .= $extracontent['begin_action_list'];
|
||||||
|
$subFolderAccessMode = $subFolder->getAccessMode($user);
|
||||||
|
if ($accessop->check_view_access('RemoveFolder')) {
|
||||||
|
if($subFolderAccessMode >= M_ALL) {
|
||||||
|
$content .= $this->printDeleteFolderButton($subFolder, 'splash_rm_folder', true);
|
||||||
|
} else {
|
||||||
|
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-remove"></i></span>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if($subFolderAccessMode >= M_READWRITE) {
|
||||||
|
$content .= '<a class_="btn btn-mini" href="'.$this->params['settings']->_httpRoot.'out/out.EditFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("edit_folder_props").'"><i class="fa fa-edit"></i></a>';
|
||||||
|
} else {
|
||||||
|
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>';
|
||||||
|
}
|
||||||
|
if($subFolderAccessMode >= M_READWRITE) {
|
||||||
|
$content .= $this->printAccessButton($subFolder, true);
|
||||||
|
}
|
||||||
|
if($enableClipboard) {
|
||||||
|
$content .= '<a class="addtoclipboard" rel="F'.$subFolder->getID().'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>';
|
||||||
|
}
|
||||||
|
if($onepage)
|
||||||
|
$content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("view_folder").'"><i class="fa fa-eye"></i></a>';
|
||||||
|
if(!empty($extracontent['end_action_list']))
|
||||||
|
$content .= $extracontent['end_action_list'];
|
||||||
|
$content .= "</div>";
|
||||||
|
return $content;
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
function folderListRow($subFolder, $skipcont=false, $extracontent=array()) { /* {{{ */
|
function folderListRow($subFolder, $skipcont=false, $extracontent=array()) { /* {{{ */
|
||||||
$dms = $this->params['dms'];
|
$dms = $this->params['dms'];
|
||||||
$user = $this->params['user'];
|
$user = $this->params['user'];
|
||||||
|
@ -3136,6 +3238,9 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
$comment = $subFolder->getComment();
|
$comment = $subFolder->getComment();
|
||||||
if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "...";
|
if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "...";
|
||||||
|
|
||||||
|
if($ec = $this->callHook('folderListRowExtraContent', $subFolder))
|
||||||
|
$extracontent = array_merge($extracontent, $ec);
|
||||||
|
|
||||||
$content = '';
|
$content = '';
|
||||||
if(!$skipcont)
|
if(!$skipcont)
|
||||||
$content .= $this->folderListRowStart($subFolder);
|
$content .= $this->folderListRowStart($subFolder);
|
||||||
|
@ -3182,35 +3287,8 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
|
||||||
$content .= count($subsub)." ".getMLText("folders")."<br />".count($subdoc)." ".getMLText("documents");
|
$content .= count($subsub)." ".getMLText("folders")."<br />".count($subdoc)." ".getMLText("documents");
|
||||||
}
|
}
|
||||||
$content .= "</small></td>";
|
$content .= "</small></td>";
|
||||||
// $content .= "<td></td>";
|
|
||||||
$content .= "<td>";
|
$content .= "<td>";
|
||||||
$content .= "<div class=\"list-action\">";
|
$content .= $this->folderListRowAction($subFolder, $skipcont, $extracontent);
|
||||||
if(!empty($extracontent['begin_action_list']))
|
|
||||||
$content .= $extracontent['begin_action_list'];
|
|
||||||
$subFolderAccessMode = $subFolder->getAccessMode($user);
|
|
||||||
if ($accessop->check_view_access('RemoveFolder')) {
|
|
||||||
if($subFolderAccessMode >= M_ALL) {
|
|
||||||
$content .= $this->printDeleteFolderButton($subFolder, 'splash_rm_folder', true);
|
|
||||||
} else {
|
|
||||||
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-remove"></i></span>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if($subFolderAccessMode >= M_READWRITE) {
|
|
||||||
$content .= '<a class_="btn btn-mini" href="'.$this->params['settings']->_httpRoot.'out/out.EditFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("edit_folder_props").'"><i class="fa fa-edit"></i></a>';
|
|
||||||
} else {
|
|
||||||
$content .= '<span style="padding: 2px; color: #CCC;"><i class="fa fa-edit"></i></span>';
|
|
||||||
}
|
|
||||||
if($subFolderAccessMode >= M_READWRITE) {
|
|
||||||
$content .= $this->printAccessButton($subFolder, true);
|
|
||||||
}
|
|
||||||
if($enableClipboard) {
|
|
||||||
$content .= '<a class="addtoclipboard" rel="F'.$subFolder->getID().'" msg="'.getMLText('splash_added_to_clipboard').'" title="'.getMLText("add_to_clipboard").'"><i class="fa fa-copy"></i></a>';
|
|
||||||
}
|
|
||||||
if($onepage)
|
|
||||||
$content .= '<a href="'.$this->params['settings']->_httpRoot.'out/out.ViewFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("view_folder").'"><i class="fa fa-eye"></i></a>';
|
|
||||||
if(!empty($extracontent['end_action_list']))
|
|
||||||
$content .= $extracontent['end_action_list'];
|
|
||||||
$content .= "</div>";
|
|
||||||
$content .= "</td>";
|
$content .= "</td>";
|
||||||
if(!$skipcont)
|
if(!$skipcont)
|
||||||
$content .= $this->folderListRowEnd($subFolder);
|
$content .= $this->folderListRowEnd($subFolder);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user