public static function ExtendNoMenuScripts(&$p_no_menu_scripts) { foreach (self::GetPluginsInfo() as $info) { if (is_array($info['no_menu_scripts']) && CampPlugin::IsPluginEnabled($info['name'])) { $p_no_menu_scripts = array_merge($p_no_menu_scripts, $info['no_menu_scripts']); } } }
/** * Generate pages array for Zend_Navigation. * * @return array */ public static function CreatePluginMenu() { global $g_user; $root_menu = false; $plugin_infos = self::GetPluginsInfo(true); if ($g_user->hasPermission('plugin_manager')) { $root_menu = true; } foreach ($plugin_infos as $info) { if (isset($info['menu']['permission']) && $g_user->hasPermission($info['menu']['permission'])) { $root_menu = true; } elseif (isset($info['menu']['sub']) && is_array($info['menu']['sub'])) { foreach ($info['menu']['sub'] as $menu_info) { if ($g_user->hasPermission($menu_info['permission'])) { $root_menu = true; } } } } if (empty($root_menu)) { return array(); } $view = new Zend_View(); $pages = array(); if ($g_user->hasPermission('plugin_manager')) { $pages[] = array('label' => getGS('Manage Plugins'), 'module' => 'admin', 'controller' => 'plugins', 'action' => 'manage.php'); } foreach ($plugin_infos as $info) { if (CampPlugin::IsPluginEnabled($info['name'])) { $menu_plugin = array(); $parent_menu = false; $Plugin = new CampPlugin($info['name']); if (isset($info['menu']['permission']) && $g_user->hasPermission($info['menu']['permission'])) { $parent_menu = true; } elseif (isset($info['menu']['sub']) && is_array($info['menu']['sub'])) { foreach ($info['menu']['sub'] as $menu_info) { if ($g_user->hasPermission($menu_info['permission'])) { $parent_menu = true; } } } if ($parent_menu && isset($info['menu'])) { $uri = '#'; if (isset($info['menu']['path'])) { $uri = $view->baseUrl('admin/' . $info['menu']['path']); } $menu_plugin = array('label' => getGS($info['menu']['label']), 'uri' => $uri); } if (isset($info['menu']['sub']) && is_array($info['menu']['sub'])) { foreach ($info['menu']['sub'] as $menu_info) { if ($g_user->hasPermission($menu_info['permission'])) { $uri = '#'; if (isset($menu_info['path'])) { $uri = $view->baseUrl('admin/' . $menu_info['path']); } $menu_item = array('label' => getGS($menu_info['label']), 'uri' => $uri); $menu_plugin['pages'][] = $menu_item; } } } if (!empty($menu_plugin)) { $pages[] = $menu_plugin; } } } return $pages; }
static public function CreatePluginMenu() { global $ADMIN; global $g_user; $root_menu = false; $plugin_infos = self::GetPluginsInfo(true); if ($g_user->hasPermission('plugin_manager')) { $root_menu = true; } foreach ($plugin_infos as $info) { if (isset($info['menu']['permission']) && $g_user->hasPermission($info['menu']['permission'])) { $root_menu = true; } elseif (is_array($info['menu']['sub'])) { foreach ($info['menu']['sub'] as $menu_info) { if ($g_user->hasPermission($menu_info['permission'])) { $root_menu = true; } } } } if (empty($root_menu)) { return; } $menu_modules =& DynMenuItem::Create(getGS('Plugins'), '', array('icon' => '', 'id' => 'plugins')); if ($g_user->hasPermission('plugin_manager')) { $menu_item =& DynMenuItem::Create(getGS('Manage Plugins'), "/$ADMIN/plugins/manage.php", array('icon' => '')); $menu_modules->addItem($menu_item); } foreach ($plugin_infos as $info) { if (CampPlugin::IsPluginEnabled($info['name'])) { $menu_plugin = null; $parent_menu = false; $Plugin = new CampPlugin($info['name']); if (isset($info['menu']['permission']) && $g_user->hasPermission($info['menu']['permission'])) { $parent_menu = true; } elseif (is_array($info['menu']['sub'])) { foreach ($info['menu']['sub'] as $menu_info) { if ($g_user->hasPermission($menu_info['permission'])) { $parent_menu = true; } } } if ($parent_menu && isset($info['menu'])) { $menu_plugin =& DynMenuItem::Create(getGS($info['menu']['label']), isset($info['menu']['path']) ? "/$ADMIN/".$info['menu']['path'] : null, array('icon' => '')); } if (isset($info['menu']['sub']) && is_array($info['menu']['sub'])) { foreach ($info['menu']['sub'] as $menu_info) { if ($g_user->hasPermission($menu_info['permission'])) { $menu_item =& DynMenuItem::Create(getGS($menu_info['label']), is_null($menu_info['path']) ? null : "/$ADMIN/".$menu_info['path'], array('icon' => '')); $menu_plugin->addItem($menu_item); } } } if (is_object($menu_plugin)) { $menu_modules->addItem($menu_plugin); } } } return $menu_modules; }