Open Journal Systems  3.3.0
PublicationRequiredPolicy.inc.php
1 <?php
15 import('lib.pkp.classes.security.authorization.DataObjectRequiredPolicy');
16 
25  function __construct($request, &$args, $publicationParameterName = 'publicationId', $operations = null) {
26  parent::__construct($request, $args, $publicationParameterName, 'user.authorization.invalidPublication', $operations);
27 
28  $callOnDeny = array($request->getDispatcher(), 'handle404', array());
29  $this->setAdvice(
30  AUTHORIZATION_ADVICE_CALL_ON_DENY,
31  $callOnDeny
32  );
33  }
34 
35  //
36  // Implement template methods from AuthorizationPolicy
37  //
41  function dataObjectEffect() {
42  // Get the publication id.
43  $publicationId = $this->getDataObjectId();
44  if ($publicationId === false) return AUTHORIZATION_DENY;
45 
46  $publication = Services::get('publication')->get($publicationId);
47  if (!is_a($publication, 'Publication')) return AUTHORIZATION_DENY;
48 
49  // Save the publication to the authorization context.
50  $this->addAuthorizedContextObject(ASSOC_TYPE_PUBLICATION, $publication);
51  return AUTHORIZATION_PERMIT;
52  }
53 }
54 
55 
PublicationRequiredPolicy\dataObjectEffect
dataObjectEffect()
Definition: PublicationRequiredPolicy.inc.php:41
DataObjectRequiredPolicy\getDataObjectId
getDataObjectId($lookOnlyByParameterName=false)
Definition: DataObjectRequiredPolicy.inc.php:111
AuthorizationPolicy\addAuthorizedContextObject
addAuthorizedContextObject($assocType, &$authorizedObject)
Definition: AuthorizationPolicy.inc.php:97
PublicationRequiredPolicy\__construct
__construct($request, &$args, $publicationParameterName='publicationId', $operations=null)
Definition: PublicationRequiredPolicy.inc.php:25
PublicationRequiredPolicy
Policy that ensures that the request contains a valid publication id.
Definition: PublicationRequiredPolicy.inc.php:17
AuthorizationPolicy\setAdvice
setAdvice($adviceType, &$adviceContent)
Definition: AuthorizationPolicy.inc.php:64
DataObjectRequiredPolicy
Abstract base class for policies that check for a data object from a parameter.
Definition: DataObjectRequiredPolicy.inc.php:17
PKPServices\get
static get($service)
Definition: PKPServices.inc.php:49