public function assert(Acl $acl, RoleInterface $role = null, ResourceInterface $resource = null, $privilege = null) { if ($this->preAssert($acl, $role, $resource, $privilege)) { $event = new AssertionEvent(null, $this); $event->setAcl($acl)->setRole($role)->setResource($resource)->setPrivilege($privilege); $events = $this->getEventManager(); $results = $events->triggerUntil($event, function ($r) { return false === $r; }); return false === $results->last() ? false : true; // result must be BOOLEAN false (not "", null or 0) } return false; }
public function assert(Acl $acl, RoleInterface $role = null, ResourceInterface $resource = null, $privilege = null) { $preCheck = $this->preAssert($acl, $role, $resource, $privilege); if (is_bool($preCheck)) { return $preCheck; } $event = new AssertionEvent(null, $this); $event->setAcl($acl)->setRole($role)->setResource($resource)->setPrivilege($privilege); $events = $this->getEventManager(); $results = $events->trigger($event, function ($r) { return false === $r; }); return false === $results->last() ? false : true; // result must be BOOLEAN false (not "", null or 0 or any other value evaluated to FALSE) }