00001 <?php
00014 import('lib.pkp.classes.security.authorization.DataObjectRequiredPolicy');
00015
00016 class MonographRequiredPolicy extends DataObjectRequiredPolicy {
00024 function MonographRequiredPolicy(&$request, &$args, $submissionParameterName = 'monographId', $operations = null) {
00025 parent::DataObjectRequiredPolicy($request, $args, $submissionParameterName, 'user.authorization.invalidMonograph', $operations);
00026 }
00027
00028
00029
00030
00034 function dataObjectEffect() {
00035
00036 $monographId = $this->getDataObjectId();
00037 if ($monographId === false) return AUTHORIZATION_DENY;
00038
00039
00040 $monographDao =& DAORegistry::getDAO('MonographDAO');
00041 $monograph =& $monographDao->getById($monographId);
00042 if (!is_a($monograph, 'Monograph')) return AUTHORIZATION_DENY;
00043
00044
00045 $press =& $this->_request->getPress();
00046 if ($press->getId() !== $monograph->getPressId()) return AUTHORIZATION_DENY;
00047
00048
00049 $this->addAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH, $monograph);
00050 return AUTHORIZATION_PERMIT;
00051 }
00052 }
00053
00054 ?>