function manage() { global $my, $mainframe, $database, $option, $priTask, $subTask; global $WBG_CONFIG, $wbGalleryDB_cat; $limit = intval($mainframe->getUserStateFromRequest("viewlistlimit", 'limit', $mainframe->getCfg('list_limit'))); $limitstart = intval($mainframe->getUserStateFromRequest("view{$option}limitstart", 'limitstart', 0)); $p_cid = intval($mainframe->getUserStateFromRequest("view{$option}p_cid", 'p_cid', 0)); $search = $mainframe->getUserStateFromRequest("search{$option}", 'search', ''); $search = $database->getEscaped(trim(strtolower($search))); $where = array(); if (!empty($search)) { $where[] = "c.title LIKE '%" . $search . "%'"; } if ($p_cid > 0) { $where[] = 'c.parent_id = ' . $p_cid; } $database->setQuery("\r\n SELECT COUNT(DISTINCT c.id)\r\n FROM #__wbgallery_cat AS c\r\n " . (count($where) ? "WHERE " . join(" AND ", $where) : '') . "\r\n "); $total = $database->loadResult(); echo $database->getErrorMsg(); require_once $mainframe->getCfg('absolute_path') . '/administrator/includes/pageNavigation.php'; $pageNav = new mosPageNav($total, $limitstart, $limit); $database->setQuery("\r\n SELECT c.*\r\n , COUNT(DISTINCT i.id) AS _images\r\n , COUNT(DISTINCT sc.id) AS _children\r\n FROM #__wbgallery_cat AS c\r\n LEFT JOIN #__wbgallery_img AS i ON i.cat_id = c.id\r\n LEFT JOIN #__wbgallery_cat AS sc ON sc.parent_id = c.id\r\n " . (count($where) ? "WHERE " . join(" AND ", $where) : '') . "\r\n GROUP BY c.id\r\n ORDER BY c.parent_id, c.ordering, c.name\r\n " . ($limit ? "LIMIT {$limitstart}, {$limit}" : '') . "\r\n "); $rows = $database->loadObjectList(); echo $database->getErrorMsg(); // Sort Rows by Level $level = 0; $final = array(); $tree = array(); for ($i = 0, $n = count($rows); $i < $n; $i++) { $row = $rows[$i]; $tree[$row->parent_id][] = $row; } $level = 0; for ($i = 0, $n = count($tree[$p_cid]); $i < $n; $i++) { $row = $tree[$p_cid][$i]; $wbGalleryDB_cat->recurseCategory($tree, $final, $row, $level); } if ($limit) { $final = array_slice($final, $limitstart, $limit); } // Build Lists $lists = array(); $catTree = $wbGalleryDB_cat->getCategoryTree(); $tList = array(mosHTML::makeOption('0', 'No Parent...', 'id', 'name')); $tList = array_merge($tList, $catTree); $lists['p_cid'] = mosHTML::selectList($tList, 'p_cid', 'onchange="document.adminForm.submit();"', 'id', 'name', $p_cid); $lists['search'] = $search; wbGallery_cat_html::manage($final, $pageNav, $lists); }