/** * 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 Acl $acl * @param RoleInterface $role * @param ResourceInterface $resource * @param string $privilege * @return bool */ public function assert(Acl $acl, RoleInterface $role = null, ResourceInterface $resource = null, $privilege = null) { if (!$role instanceof User) { return false; } $member = $role->getMember(); foreach ($member->getBoardInstallations() as $boardInstall) { if ($this->isCurrentBoard($boardInstall)) { return true; } } return false; }
/** * 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 Acl $acl * @param RoleInterface $role * @param ResourceInterface $resource * @param string $privilege * @return bool */ public function assert(Acl $acl, RoleInterface $role = null, ResourceInterface $resource = null, $privilege = null) { if (!$role instanceof User) { return false; } if (!$resource instanceof OrganResourceInterface) { return false; } $member = $role->getMember(); $organ = $resource->getResourceOrgan(); foreach ($member->getOrganInstallations() as $organInstall) { if ($organInstall->getOrgan()->getId() === $organ->getId() && $this->isCurrentMember($organInstall)) { return true; } } return false; }