/** * Returns true if and only if the assertion conditions are met * * This method is passed the ACL, Role, Resource, and privilege to which * the authorization query applies. If the $role, $resource, or $privilege * parameters are null, it means that the query applies to all Roles, * Resources, or privileges, respectively. * * @param Zend_Acl $acl * @param Zend_Acl_Role_Interface $role * @param Zend_Acl_Resource_Interface $resource * @param string $privilege * @return boolean */ public function assert(Zend_Acl $acl, Zend_Acl_Role_Interface $role = null, Zend_Acl_Resource_Interface $resource = null, $privilege = null) { $sameOrgAssert = new App_Acl_Assert_SameOrganization(); $childOrgAssert = new App_Acl_Assert_ChildOrganization(); if (!$role instanceof UserModel) { throw new Exception('Role must be an instance of UserModel'); } return $sameOrgAssert->assert($acl, $role, $resource, $privilege) || $childOrgAssert->assert($acl, $role, $resource, $privilege) && $role->getRole() === 'admin'; }
/** * Returns true if and only if the assertion conditions are met * * This method is passed the ACL, Role, Resource, and privilege to which * the authorization query applies. If the $role, $resource, or $privilege * parameters are null, it means that the query applies to all Roles, * Resources, or privileges, respectively. * * @param Zend_Acl $acl * @param Zend_Acl_Role_Interface $role * @param Zend_Acl_Resource_Interface $resource * @param string $privilege * @return boolean */ public function assert(Zend_Acl $acl, Zend_Acl_Role_Interface $role = null, Zend_Acl_Resource_Interface $resource = null, $privilege = null) { $sameOrgAssert = new App_Acl_Assert_SameOrganization(); $notAdminUserAssert = new App_Acl_Assert_NotAdminUser(); if (!$role instanceof UserModel) { throw new Exception('Role must be an instance of UserModel'); } return $sameOrgAssert->assert($acl, $role, $resource, $privilege) && $notAdminUserAssert->assert($acl, $role, $resource, $privilege); }
/** * Returns true if and only if the assertion conditions are met * * This method is passed the ACL, Role, Resource, and privilege to which * the authorization query applies. If the $role, $resource, or $privilege * parameters are null, it means that the query applies to all Roles, * Resources, or privileges, respectively. * * @param Zend_Acl $acl * @param Zend_Acl_Role_Interface $role * @param Zend_Acl_Resource_Interface $resource * @param string $privilege * @return boolean */ public function assert(Zend_Acl $acl, Zend_Acl_Role_Interface $role = null, Zend_Acl_Resource_Interface $resource = null, $privilege = null) { $sameRole = new App_Acl_Assert_SameRole(); $sameOrg = new App_Acl_Assert_SameOrganization(); $childOrg = new App_Acl_Assert_ChildOrganization(); if (!$role instanceof UserModel) { throw new Exception('Role must be an instance of UserModel'); } else { if (!$resource instanceof UserModel) { throw new Exception('Resource must be an instance of UserModel'); } } if ($sameOrg->assert($acl, $role, $resource, $privilege)) { return $sameRole->assert($acl, $role, $resource, $privilege); } else { return $childOrg->assert($acl, $role, $resource, $privilege); } }
/** * Returns true if and only if the assertion conditions are met * * This method is passed the ACL, Role, Resource, and privilege to which * the authorization query applies. If the $role, $resource, or $privilege * parameters are null, it means that the query applies to all Roles, * Resources, or privileges, respectively. * * @param Zend_Acl $acl * @param Zend_Acl_Role_Interface $role * @param Zend_Acl_Resource_Interface $resource * @param string $privilege * @return boolean */ public function assert(Zend_Acl $acl, Zend_Acl_Role_Interface $role = null, Zend_Acl_Resource_Interface $resource = null, $privilege = null) { $sameOrgAssert = new App_Acl_Assert_SameOrganization(); $childOrgAssert = new App_Acl_Assert_ChildOrganization(); return $sameOrgAssert->assert($acl, $role, $resource, $privilege) || $childOrgAssert->assert($acl, $role, $resource, $privilege); }