15 import(
'lib.pkp.classes.security.authorization.PolicySet');
16 import(
'lib.pkp.classes.security.authorization.internal.PluginLevelRequiredPolicy');
17 import(
'lib.pkp.classes.security.authorization.internal.PluginRequiredPolicy');
18 import(
'lib.pkp.classes.security.authorization.RoleBasedHandlerOperationPolicy');
20 define(
'ACCESS_MODE_MANAGE', 0x01);
21 define(
'ACCESS_MODE_ADMIN', 0x02);
31 function __construct($request, &$args, $roleAssignments, $accessMode = ACCESS_MODE_ADMIN) {
32 parent::__construct();
39 $pluginAccessPolicy =
new PolicySet(COMBINING_PERMIT_OVERRIDES);
40 $pluginAccessPolicy->setEffectIfNoPolicyApplies(AUTHORIZATION_DENY);
45 if (isset($roleAssignments[ROLE_ID_MANAGER])) {
46 if ($accessMode & ACCESS_MODE_MANAGE) {
48 $managerPluginAccessPolicy =
new PolicySet(COMBINING_DENY_OVERRIDES);
54 $pluginAccessPolicy->addPolicy($managerPluginAccessPolicy);
61 if (isset($roleAssignments[ROLE_ID_SITE_ADMIN])) {
63 $siteAdminPluginAccessPolicy =
new PolicySet(COMBINING_DENY_OVERRIDES);
66 if ($accessMode & ACCESS_MODE_MANAGE) {
71 $pluginAccessPolicy->addPolicy($siteAdminPluginAccessPolicy);