call hook filterList

This commit is contained in:
Uwe Steinmann 2020-11-15 07:44:09 +01:00
parent 15d05d6ace
commit f440d8bf54

View File

@ -56,19 +56,23 @@ $(document).ready( function() {
<?php
} /* }}} */
protected function printListHeader($resArr, $previewer, $order=false) { /* {{{ */
protected function printListHeader($resArr, $previewer, $action=false) { /* {{{ */
$orderby = $this->params['orderby'];
$orderdir = $this->params['orderdir'];
print "<table class=\"table table-condensed\">";
print "<thead>\n<tr>\n";
print "<th></th>\n";
if($order)
print "<th><a data-action=\"".$order."\" data-orderby=\"n\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("name")."</a> ".($orderby == 'n' || $orderby == '' ? ($orderdir == 'desc' ? '<i class="fa fa-arrow-up"></i>' : '<i class="fa fa-arrow-down"></i>') : '')." &middot; <a data-action=\"".$order."\" data-orderby=\"u\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("last_update")."</a> ".($orderby == 'u' ? ($orderdir == 'desc' ? '<i class="fa fa-arrow-up"></i>' : '<i class="fa fa-arrow-down"></i>') : '')." &middot; <a data-action=\"".$order."\" data-orderby=\"e\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("expires")."</a> ".($orderby == 'e' ? ($orderdir == 'desc' ? '<i class="fa fa-arrow-up"></i>' : '<i class="fa fa-arrow-down"></i>') : '')."</th>\n";
else
if($action) {
print "<th>";
print "<a data-action=\"".$action."\" data-orderby=\"n\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("name")."</a> ".($orderby == 'n' || $orderby == '' ? ($orderdir == 'desc' ? '<i class="fa fa-arrow-up"></i>' : '<i class="fa fa-arrow-down"></i>') : '')." &middot; ";
print "<a data-action=\"".$action."\" data-orderby=\"u\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("last_update")."</a> ".($orderby == 'u' ? ($orderdir == 'desc' ? '<i class="fa fa-arrow-up"></i>' : '<i class="fa fa-arrow-down"></i>') : '')." &middot; ";
print "<a data-action=\"".$action."\" data-orderby=\"e\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("expires")."</a> ".($orderby == 'e' ? ($orderdir == 'desc' ? '<i class="fa fa-arrow-up"></i>' : '<i class="fa fa-arrow-down"></i>') : '');
print "</th>\n";
} else
print "<th>".getMLText("name")."</th>\n";
if($order)
print "<th><a data-action=\"".$order."\" data-orderby=\"s\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("status")."</a>".($orderby == 's' ? " ".($orderdir == 'desc' ? '<i class="fa fa-arrow-up"></i>' : '<i class="fa fa-arrow-down"></i>') : '')."</th>\n";
if($action)
print "<th><a data-action=\"".$action."\" data-orderby=\"s\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("status")."</a>".($orderby == 's' ? " ".($orderdir == 'desc' ? '<i class="fa fa-arrow-up"></i>' : '<i class="fa fa-arrow-down"></i>') : '')."</th>\n";
else
print "<th>".getMLText("status")."</th>\n";
print "<th>".getMLText("action")."</th>\n";
@ -79,26 +83,32 @@ $(document).ready( function() {
echo "</tbody>\n</table>";
} /* }}} */
protected function printList($resArr, $previewer, $order=false) { /* {{{ */
protected function printList($resArr, $previewer, $action=false) { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$this->printListHeader($resArr, $previewer, $order);
$this->printListHeader($resArr, $previewer, $action);
$noaccess = 0;
$docs = [];
foreach ($resArr as $res) {
$document = $dms->getDocument($res["id"]);
$document->verifyLastestContentExpriry();
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
$txt = $this->callHook('documentListItem', $document, $previewer, false, $res['version']);
if(is_string($txt))
echo $txt;
else
echo $this->documentListRow($document, $previewer, false, $res['version']);
$docs[] = $document;
} else {
$noaccess++;
}
}
if($this->hasHook('filterList'))
$docs = $this->callHook('filterList', $docs, $action);
foreach($docs as $document) {
$txt = $this->callHook('documentListItem', $document, $previewer, false);
if(is_string($txt))
echo $txt;
else
echo $this->documentListRow($document, $previewer, false);
}
$this->printListFooter();
if($noaccess) {