Open Preprint Systems
3.3.0
OpsServerMustPublishPolicy.inc.php
1
<?php
15
import
(
'lib.pkp.classes.security.authorization.PolicySet'
);
16
import
(
'lib.pkp.classes.security.authorization.AuthorizationPolicy'
);
17
18
class
OpsServerMustPublishPolicy
extends
AuthorizationPolicy
{
19
20
var
$_context
;
21
28
function
__construct
($request) {
29
parent::__construct(
'user.authorization.journalDoesNotPublish'
);
30
$this->_context = $request->getContext();
31
}
32
33
//
34
// Implement template methods from AuthorizationPolicy
35
//
36
function
effect
() {
37
if
(!$this->_context)
return
AUTHORIZATION_DENY;
38
39
// Certain roles are allowed to see unpublished content.
40
$userRoles = (array) $this->
getAuthorizedContextObject
(ASSOC_TYPE_USER_ROLES);
41
if
(count(array_intersect(
42
$userRoles,
43
array(
44
ROLE_ID_MANAGER,
45
ROLE_ID_SITE_ADMIN,
46
ROLE_ID_ASSISTANT,
47
ROLE_ID_SUB_EDITOR,
48
)
49
))>0) {
50
return
AUTHORIZATION_PERMIT;
51
}
52
53
if
($this->_context->getData(
'publishingMode'
) == PUBLISHING_MODE_NONE) {
54
return
AUTHORIZATION_DENY;
55
}
56
57
return
AUTHORIZATION_PERMIT;
58
}
59
}
60
61
OpsServerMustPublishPolicy\effect
effect()
Definition:
OpsServerMustPublishPolicy.inc.php:36
OpsServerMustPublishPolicy
Access policy to limit access to servers that do not publish online.
Definition:
OpsServerMustPublishPolicy.inc.php:18
AuthorizationPolicy\getAuthorizedContextObject
& getAuthorizedContextObject($assocType)
Definition:
AuthorizationPolicy.inc.php:117
OpsServerMustPublishPolicy\$_context
$_context
Definition:
OpsServerMustPublishPolicy.inc.php:20
OpsServerMustPublishPolicy\__construct
__construct($request)
Definition:
OpsServerMustPublishPolicy.inc.php:28
AuthorizationPolicy
Class to represent an authorization policy.
Definition:
AuthorizationPolicy.inc.php:31
classes
security
authorization
OpsServerMustPublishPolicy.inc.php
Generated on Fri Aug 28 2020 14:51:31 for Open Preprint Systems by
1.8.17