Exemplo n.º 1
0
 public function assert(\Zend\Permissions\Acl\Acl $acl, \Zend\Permissions\Acl\Role\RoleInterface $role = null, \Zend\Permissions\Acl\Resource\ResourceInterface $resource = null, $privilege = null)
 {
     $model = $resource->getModel();
     if ($model instanceof \Application\Model\Relation\UserCalendar) {
         $collection = $model->getCalendar()->getUserCalendars();
     } elseif ($model instanceof \Application\Model\Relation\UserPlace) {
         $collection = $model->getPlace()->getUserPlaces();
     } else {
         throw new \InvalidArgumentException('The resource being checked is not a supported relation. Either implement the relation support, or modify ACL rules.');
     }
     return count($collection) === 1;
 }
Exemplo n.º 2
0
 public function assert(\Zend\Permissions\Acl\Acl $acl, \Zend\Permissions\Acl\Role\RoleInterface $role = null, \Zend\Permissions\Acl\Resource\ResourceInterface $resource = null, $privilege = null)
 {
     $model = $resource->getModel();
     if (!$model instanceof \Application\Authorization\HasRelationToUsersInterface) {
         throw new \InvalidArgumentException('The resource being checked must implement HasRelationToUsersInterface. Either implement the interface, or modify ACL rules.');
     }
     // If we found the user in relations, that means there is a relation, so return false (duh!)
     foreach ($model->getUsers() as $user) {
         if ($user === $role->getUser()) {
             return false;
         }
     }
     return true;
 }