Пример #1
0
 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);
 }