16 import(
'lib.pkp.classes.controllers.grid.plugins.PluginGridHandler');
23 $roles = array(ROLE_ID_SITE_ADMIN, ROLE_ID_MANAGER);
25 parent::__construct($roles);
36 $plugins = parent::loadCategoryData($request, $categoryDataElement, $filter);
39 $showSitePlugins =
false;
40 if (in_array(ROLE_ID_SITE_ADMIN, $userRoles)) {
41 $showSitePlugins =
true;
44 if ($showSitePlugins) {
47 $contextLevelPlugins = array();
48 foreach ($plugins as $plugin) {
49 if (!$plugin->isSitePlugin()) {
50 $contextLevelPlugins[$plugin->getName()] = $plugin;
54 return $contextLevelPlugins;
65 import(
'lib.pkp.controllers.grid.plugins.PluginGridRow');
72 function authorize($request, &$args, $roleAssignments) {
73 $categoryName = $request->getUserVar(
'category');
74 $pluginName = $request->getUserVar(
'plugin');
75 if ($categoryName && $pluginName) {
76 import(
'lib.pkp.classes.security.authorization.PluginAccessPolicy');
77 switch ($request->getRequestedOp()) {
81 $accessMode = ACCESS_MODE_MANAGE;
84 $accessMode = ACCESS_MODE_ADMIN;
89 import(
'lib.pkp.classes.security.authorization.ContextAccessPolicy');
92 return parent::authorize($request, $args, $roleAssignments);