00001 <?php
00018 import('lib.pkp.classes.security.authorization.AuthorizationPolicy');
00019
00020 class MonographPublishedPolicy extends AuthorizationPolicy {
00022 var $_request;
00023
00028 function MonographPublishedPolicy(&$request) {
00029 parent::AuthorizationPolicy('user.authorization.monographAuthor');
00030 $this->_request =& $request;
00031 }
00032
00033
00034
00035
00039 function effect() {
00040
00041 $monograph =& $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH);
00042 if (!is_a($monograph, 'Monograph')) return AUTHORIZATION_DENY;
00043
00044
00045 $publishedMonographDao =& DAORegistry::getDAO('PublishedMonographDAO');
00046 $publishedMonograph =& $publishedMonographDao->getById($monograph->getId());
00047 if (!is_a($publishedMonograph, 'PublishedMonograph')) return AUTHORIZATION_DENY;
00048 $this->addAuthorizedContextObject(ASSOC_TYPE_PUBLISHED_MONOGRAPH, $publishedMonograph);
00049
00050 return AUTHORIZATION_PERMIT;
00051 }
00052 }
00053
00054 ?>