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; }
} if ($g_user->hasPermission('ManageUserTypes')) { $menu_item =& DynMenuItem::Create(getGS('Staff User Types'), "/$ADMIN/user_types/", array('icon' => '')); $menu_users->addItem($menu_item); } if ($g_user->hasPermission('SyncPhorumUsers')) { $menu_item =& DynMenuItem::Create(getGS('Synchronize Newscoop and Phorum users'), "/$ADMIN/home.php?sync_users=yes", array('icon' => '')); $menu_users->addItem($menu_item); } if ($g_user->hasPermission('EditAuthors')) { $menu_item =& DynMenuItem::Create(getGS('Authors'), "/$ADMIN/users/authors.php?Back=".urlencode($_SERVER['REQUEST_URI']), array('icon' => '')); $menu_users->addItem($menu_item); } } // Creates the Plugins menu $menu_plugins = CampPlugin::CreatePluginMenu(); // Page title $siteTitle = (!empty($Campsite['site']['title'])) ? htmlspecialchars($Campsite['site']['title']) : putGS("Newscoop") . $Campsite['VERSION']; // locale setting for datepicker $locale = !empty($_COOKIE['TOL_Language']) ? $_COOKIE['TOL_Language'] : 'en'; ?>