/** * Compiles a list of menumanager items */ function showMenu($option) { global $database, $mainframe, $mosConfig_list_limit; ## Main Query $query = "SELECT a.title, a.params, a.id" . "\n FROM #__modules AS a" . "\n WHERE a.module = 'mod_mainmenu'" . "\n ORDER BY a.title"; $database->setQuery($query); $menus = $database->loadObjectList(); $total = count($menus); ## Query to get menu item count and menutype $query = "SELECT a.menutype, count( a.menutype ) as num" . "\n FROM #__menu AS a" . "\n WHERE a.published != -2" . "\n GROUP BY a.menutype" . "\n ORDER BY a.menutype"; $database->setQuery($query); $menutype = $database->loadObjectList(); for ($i = 0; $i < $total; $i++) { $params = mosParseParams($menus[$i]->params); // adds menutype to array $menus[$i]->type = trim(@$params->menutype); foreach ($menutype as $temp) { if ($menus[$i]->type == $temp->menutype) { // adds item count to array $menus[$i]->num = $temp->num; } } if (@(!$menus[$i]->num)) { $menus[$i]->num = 0; } } $limit = $mainframe->getUserStateFromRequest("viewlistlimit", 'limit', $mosConfig_list_limit); $limitstart = $mainframe->getUserStateFromRequest("view{" . $option . "}limitstart", 'limitstart', 0); require_once $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php'; $pageNav = new mosPageNav($total, $limitstart, $limit); HTML_menumanager::show($option, $menus, $pageNav); }
/** * Compiles a list of menumanager items */ function showMenu($option) { global $database, $mainframe, $mosConfig_list_limit; $limit = intval($mainframe->getUserStateFromRequest("viewlistlimit", 'limit', $mosConfig_list_limit)); $limitstart = intval($mainframe->getUserStateFromRequest("view{" . $option . "}limitstart", 'limitstart', 0)); $menuTypes = mosAdminMenus::menutypes(); $total = count($menuTypes); $i = 0; $menus = array(); foreach ($menuTypes as $a) { $menus[$i] = new StdClass(); $menus[$i]->type = $a; // query to get number of modules for menutype $query = "SELECT count( id )" . "\n FROM #__modules" . "\n WHERE module = 'mod_mainmenu'" . "\n AND params LIKE '%" . $database->getEscaped($a) . "%'"; $database->setQuery($query); $modules = $database->loadResult(); if (!$modules) { $modules = '-'; } $menus[$i]->modules = $modules; $i++; } // Query to get published menu item counts $query = "SELECT a.menutype, count( a.menutype ) as num" . "\n FROM #__menu AS a" . "\n WHERE a.published = 1" . "\n GROUP BY a.menutype" . "\n ORDER BY a.menutype"; $database->setQuery($query); $published = $database->loadObjectList(); // Query to get unpublished menu item counts $query = "SELECT a.menutype, count( a.menutype ) as num" . "\n FROM #__menu AS a" . "\n WHERE a.published = 0" . "\n GROUP BY a.menutype" . "\n ORDER BY a.menutype"; $database->setQuery($query); $unpublished = $database->loadObjectList(); // Query to get trash menu item counts $query = "SELECT a.menutype, count( a.menutype ) as num" . "\n FROM #__menu AS a" . "\n WHERE a.published = -2" . "\n GROUP BY a.menutype" . "\n ORDER BY a.menutype"; $database->setQuery($query); $trash = $database->loadObjectList(); for ($i = 0; $i < $total; $i++) { // adds published count foreach ($published as $count) { if ($menus[$i]->type == $count->menutype) { $menus[$i]->published = $count->num; } } if (@(!$menus[$i]->published)) { $menus[$i]->published = '-'; } // adds unpublished count foreach ($unpublished as $count) { if ($menus[$i]->type == $count->menutype) { $menus[$i]->unpublished = $count->num; } } if (@(!$menus[$i]->unpublished)) { $menus[$i]->unpublished = '-'; } // adds trash count foreach ($trash as $count) { if ($menus[$i]->type == $count->menutype) { $menus[$i]->trash = $count->num; } } if (@(!$menus[$i]->trash)) { $menus[$i]->trash = '-'; } } require_once $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php'; $pageNav = new mosPageNav($total, $limitstart, $limit); HTML_menumanager::show($option, $menus, $pageNav); }