function addMenuItem(&$arr, $file, $nav) { if (ereg('>', $nav)) { return; $bits = explode(' > ', $nav); if (!isset($arr[$bits[0]])) { $arr[$bits[0]] = array(); } addMenuItem($arr[$bits[0]], $file, str_replace($bits[0] . ' > ', '', $nav)); } else { $arr[$nav] = $file; } }
defined('_VALID_MOS') or die('Direct Access to this location is not allowed.'); require_once $mainframe->getPath('admin_html'); $type = mosGetParam($_REQUEST, 'type', false); $menutype = mosGetParam($_REQUEST, 'menutype', 'mainmenu'); $task = mosGetParam($_REQUEST, 'task', ""); $access = mosGetParam($_POST, 'access', ''); $utaccess = mosGetParam($_POST, 'utaccess', ''); $ItemName = mosGetParam($_POST, 'ItemName', ''); $cid = mosGetParam($_POST, 'cid', array(0)); if (!is_array($cid)) { $cid = array(0); } $menu = mosGetParam($_POST, 'menu', ''); switch ($task) { case 'new': addMenuItem($cid, $menutype, $option); break; case 'edit': $menu = new mosMenu($database); if ($cid[0]) { $menu->load($cid[0]); } else { $menu->type = $type; } if ($menu->type) { require $mosConfig_absolute_path . '/administrator/components/com_menus/' . $menu->type . '/' . $menu->type . '.menu.php'; } break; case 'save': require $mosConfig_absolute_path . '/administrator/components/com_menus/' . $type . '/' . $type . '.menu.php'; break;
function addMenu($menu) { global $security_matrix; $sSQL = "SELECT name, ismenu, parent, content, uri, statustext, session_var, session_var_in_text, session_var_in_uri, url_parm_name, security_grp, icon FROM menuconfig_mcf WHERE parent = '{$menu}' AND active=1 " . $security_matrix . " ORDER BY sortorder"; $rsMenu = RunQuery($sSQL); $item_cnt = mysql_num_rows($rsMenu); $idx = 1; $ptr = 1; while ($aRow = mysql_fetch_array($rsMenu)) { if (addMenuItem($aRow, $idx)) { if ($ptr == $item_cnt) { $idx++; } $ptr++; } else { $item_cnt--; } } }
$id = intval(mosGetParam($_GET, 'id', 0)); $type = mosGetParam($_REQUEST, 'type', false); $menutype = mosGetParam($_REQUEST, 'menutype', 'mainmenu'); $task = mosGetParam($_REQUEST, 'task', ''); $access = mosGetParam($_POST, 'access', ''); $utaccess = mosGetParam($_POST, 'utaccess', ''); $ItemName = mosGetParam($_POST, 'ItemName', ''); $menu = mosGetParam($_POST, 'menu', ''); $cid = mosGetParam($_POST, 'cid', array(0)); $path = $mosConfig_absolute_path . '/administrator/components/com_menus/'; if (!is_array($cid)) { $cid = array(0); } switch ($task) { case 'new': addMenuItem($cid, $menutype, $option, $task); break; case 'edit': $cid[0] = $id ? $id : $cid[0]; $menu = new mosMenu($database); if ($cid[0]) { $menu->load($cid[0]); } else { $menu->type = $type; } if ($menu->type) { $type = $menu->type; require $path . $menu->type . '/' . $menu->type . '.menu.php'; } break; case 'save':
} $_menu['Blog'] = new dcMenu('blog-menu', 'Blog'); $_menu['System'] = new dcMenu('system-menu', 'System'); $_menu['Plugins'] = new dcMenu('plugins-menu', 'Plugins'); # Loading plugins $core->plugins->loadModules(DC_PLUGINS_ROOT, 'admin', $_lang); $core->favs->setup(); if (!$user_ui_nofavmenu) { $core->favs->appendMenu($_menu); } # Set menu titles $_menu['System']->title = __('System settings'); $_menu['Blog']->title = __('Blog'); $_menu['Plugins']->title = __('Plugins'); addMenuItem('Blog', __('Blog appearance'), 'admin.blog.theme', 'images/menu/themes.png', $core->auth->check('admin', $core->blog->id)); addMenuItem('Blog', __('Blog settings'), 'admin.blog.pref', 'images/menu/blog-pref.png', $core->auth->check('admin', $core->blog->id)); addMenuItem('Blog', __('Media manager'), 'admin.media', 'images/menu/media.png', $core->auth->check('media,media_admin', $core->blog->id)); addMenuItem('Blog', __('Categories'), 'admin.categories', 'images/menu/categories.png', $core->auth->check('categories', $core->blog->id)); addMenuItem('Blog', __('Search'), 'admin.search', 'images/menu/search.png', $core->auth->check('usage,contentadmin', $core->blog->id)); addMenuItem('Blog', __('Comments'), 'admin.comments', 'images/menu/comments.png', $core->auth->check('usage,contentadmin', $core->blog->id)); addMenuItem('Blog', __('Entries'), 'admin.posts', 'images/menu/entries.png', $core->auth->check('usage,contentadmin', $core->blog->id)); addMenuItem('Blog', __('New entry'), 'admin.post', 'images/menu/edit.png', $core->auth->check('usage,contentadmin', $core->blog->id)); addMenuItem('System', __('Update'), 'admin.update', 'images/menu/update.png', $core->auth->isSuperAdmin() && is_readable(DC_DIGESTS)); addMenuItem('System', __('Languages'), 'admin.langs', 'images/menu/langs.png', $core->auth->isSuperAdmin()); addMenuItem('System', __('Plugins management'), 'admin.plugins', 'images/menu/plugins.png', $core->auth->isSuperAdmin()); addMenuItem('System', __('Users'), 'admin.users', 'images/menu/users.png', $core->auth->isSuperAdmin()); addMenuItem('System', __('Blogs'), 'admin.blogs', 'images/menu/blogs.png', $core->auth->isSuperAdmin() || $core->auth->check('usage,contentadmin', $core->blog->id) && $core->auth->getBlogCount() > 1); if (empty($core->blog->settings->system->jquery_migrate_mute)) { $core->blog->settings->system->put('jquery_migrate_mute', true, 'boolean', 'Mute warnings for jquery migrate plugin ?', false); } }
case "sort": $listQuery = $listQuery . " ORDER BY {$value}"; break; case "filter": $listQuery = $listQuery . " WHERE {$columnName} = {$value}"; break; case "like": $listQuery = $listQuery . " WHERE {$columnName} like '%" . $value . "%'"; break; case "delete": deleteMenuItem($MenuID); reloadMenu($userID); break; case "add": include_once './panels/dbMenuItem.php'; addMenuItem($MenuName, $PagePath, $Sequence, $RequiresAuthentication, $ParentItem, $Color, $QueryString); reloadMenu($userID); break; case "select": echo "<p class='debug'>MenuID: {$MenuID} :: ID: {$id}</p>"; include_once './panels/dbMenuItem.php'; if ($MenuID != "") { getMenuItem($MenuID, $userID); } else { if ($id != "") { getMenuItem($id, $userID); } } break; case "edit": include_once './panels/dbMenuItem.php';
function generateMenuItems($query, $menu, $category) { global $edp_db; echo "<table id='menu' class='edpmenu_menuoption' border='0' width='100%' cellpadding='0' style='border-collapse: collapse'>\n"; $menuData = $edp_db->query("{$query} where menu = '{$menu}' order by name"); foreach ($menuData as $row) { if ($row[status] == "active") { // // Check if the type is redirect (meaning it will go thru showresource php) or direct instead // // choose icon if ($row[category] == "Applications") { $icon = "icons/sidebar/apps.png"; } elseif ($row[category] == "Tools") { $icon = "icons/sidebar/tools.png"; } else { $icon = "icons/sidebar/{$row['icon']}"; } // direct load if ($row[access] == "direct") { addMenuItem("loadURL('{$row['action']}');", "{$icon}", "{$row['name']}"); } else { addMenuItem("loadURL('showresource.php?category={$category}&id={$row['id']}');", "{$icon}", "{$row['name']}"); } } } echo "</table>"; }