Acl.php 1014 B

1234567891011121314151617181920212223
  1. <?php
  2. class Zend_Acl_UseCase1_Acl extends Zend_Acl
  3. {
  4. public $customAssertion = null;
  5. public function __construct()
  6. {
  7. $this->customAssertion = new Zend_Acl_UseCase1_UserIsBlogPostOwnerAssertion();
  8. $this->addRole(new Zend_Acl_Role('guest')); // $acl->addRole('guest');
  9. $this->addRole(new Zend_Acl_Role('contributor'), 'guest'); // $acl->addRole('contributor', 'guest');
  10. $this->addRole(new Zend_Acl_Role('publisher'), 'contributor'); // $acl->addRole('publisher', 'contributor');
  11. $this->addRole(new Zend_Acl_Role('admin')); // $acl->addRole('admin');
  12. $this->add(new Zend_Acl_Resource('blogPost')); // $acl->addResource('blogPost');
  13. $this->allow('guest', 'blogPost', 'view');
  14. $this->allow('contributor', 'blogPost', 'contribute');
  15. $this->allow('contributor', 'blogPost', 'modify', $this->customAssertion);
  16. $this->allow('publisher', 'blogPost', 'publish');
  17. }
  18. }