diff options
author | Chris Cornutt <enygma@phpdeveloper.org> | 2015-06-06 17:20:13 -0500 |
---|---|---|
committer | Chris Cornutt <enygma@phpdeveloper.org> | 2015-06-06 17:20:13 -0500 |
commit | 41eb5335125c106032b870ffd07562edc7424aeb (patch) | |
tree | 0e00d4ca8b0201b3207423249b8c6b936ab21273 | |
parent | 4e2c66b7dd4427f8971bd0ddb46c967a4af01a77 (diff) | |
download | gatekeeper-origin/resolver.zip gatekeeper-origin/resolver.tar.gz gatekeeper-origin/resolver.tar.bz2 |
adding Permission resolverorigin/resolver
-rw-r--r-- | src/Psecio/Gatekeeper/Resolve/Permissions.php | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/Psecio/Gatekeeper/Resolve/Permissions.php b/src/Psecio/Gatekeeper/Resolve/Permissions.php new file mode 100644 index 0000000..dc7102c --- /dev/null +++ b/src/Psecio/Gatekeeper/Resolve/Permissions.php @@ -0,0 +1,29 @@ +<?php + +namespace Psecio\Gatekeeper\Resolve; + +class Permissions extends \Psecio\Gatekeeper\Resolve +{ + /** + * Resolve the user's immediate permissions (directly on the user + * and on the groups the user belongs to) + * + * @param \Psecio\Gatekeeper\UserModel $user UserModel instance + * @return \Psecio\Gatekeeper\UserPermissionCollection instance + */ + public function resolve(\Psecio\Gatekeeper\UserModel $user) + { + // Start with the user's direct permissions + $permissions = $user->permissions; + + // Now find the ones in the user's groups too + foreach ($user->groups as $group) { + print_r($group->permissions); + foreach ($group->permissions as $permission) { + $permissions->add($permission); + } + } + + return $permissions; + } +}
\ No newline at end of file |