function showDocuments($pend, $sort, $view_type) { global $_DOCMAN; require_once $_DOCMAN->getPath('classes', 'utils'); global $database, $mainframe, $option, $section; global $mosConfig_list_limit, $section, $menutype; $catid = $mainframe->getUserStateFromRequest("catidarc{option}{$section}", 'catid', 0); $limit = $mainframe->getUserStateFromRequest("viewlistlimit", 'limit', $mosConfig_list_limit); $limitstart = $mainframe->getUserStateFromRequest("view{$option}{$section}limitstart", 'limitstart', 0); $levellimit = $mainframe->getUserStateFromRequest("view{$option}{$section}limit", 'levellimit', 10); $search = $mainframe->getUserStateFromRequest("searcharc{$option}{$section}", 'search', ''); $search = $database->getEscaped(trim(strtolower($search))); $where = array(); if ($catid > 0) { $where[] = "a.catid={$catid}"; } if ($search) { $where[] = "LOWER(a.dmname) LIKE '%{$search}%'"; } if ($pend == 'yes') { $where[] = "a.approved LIKE '0'"; } // get the total number of records $query = "SELECT count(*) " . "\n FROM #__docman AS a" . (count($where) ? "\n WHERE " . implode(' AND ', $where) : ""); $database->setQuery($query); $total = $database->loadResult(); if ($database->getErrorNum()) { echo $database->stderr(); return false; } // $where[] = "a.catid=cc.id"; if ($sort == 'filename') { $sorttemp = "a.dmfilename"; } else { if ($sort == 'name') { $sorttemp = "a.dmname"; } else { if ($sort == 'date') { $sorttemp = "a.dmdate_published"; } else { $sorttemp = "a.catid,a.dmname"; } } } $query = "SELECT a.*, cc.name AS category, u.name AS editor" . "\n FROM #__docman AS a" . "\n LEFT JOIN #__users AS u ON u.id = a.checked_out" . "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid" . (count($where) ? "\n WHERE " . implode(' AND ', $where) : "") . "\n ORDER BY " . $sorttemp . " ASC"; $database->setQuery($query); $rows = $database->loadObjectList(); if ($database->getErrorNum()) { echo $database->stderr(); return false; } require_once $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php'; $pageNav = new mosPageNav($total, $limitstart, $limit); // slice out elements based on limits $rows = array_slice($rows, $pageNav->limitstart, $pageNav->limit); // add category name $list = DOCMAN_utils::categoryArray(); for ($i = 0, $n = count($rows); $i < $n; $i++) { $row =& $rows[$i]; $row->treename = array_key_exists($row->catid, $list) ? $list[$row->catid]->treename : '(orphan)'; } // get list of categories $options = array(); $options[] = dmHTML::makeOption('0', _DML_SELECT_CAT); $options[] = dmHTML::makeOption('-1', _DML_ALL_CATS); $lists['catid'] = dmHTML::categoryList($catid, "document.adminForm.submit();", $options); // get unpublished documents $database->setQuery("SELECT count(*) FROM #__docman WHERE approved=0"); $number_pending = $database->loadResult(); if ($database->getErrorNum()) { echo $database->stderr(); return false; } // get pending documents $database->setQuery("SELECT count(*) FROM #__docman WHERE published=0"); $number_unpublished = $database->loadResult(); if ($database->getErrorNum()) { echo $database->stderr(); return false; } HTML_DMDocuments::showDocuments($rows, $lists, $search, $pageNav, $number_pending, $number_unpublished, $view_type); }