summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Psecio/Gatekeeper/Gatekeeper.php14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/Psecio/Gatekeeper/Gatekeeper.php b/src/Psecio/Gatekeeper/Gatekeeper.php
index bd76f97..599efc7 100644
--- a/src/Psecio/Gatekeeper/Gatekeeper.php
+++ b/src/Psecio/Gatekeeper/Gatekeeper.php
@@ -410,6 +410,20 @@ class Gatekeeper
if (self::$datasource->save($user) === false) {
return false;
}
+ // Add groups if they're given
+ if (isset($userData['groups'])) {
+ foreach ($userData['groups'] as $group) {
+ $group = (is_int($group)) ? self::findGroupById($group) : self::findGroupByName($group);
+ $user->addGroup($group);
+ }
+ }
+ // Add permissions if they're given
+ if (isset($userData['permissions'])) {
+ foreach ($userData['permissions'] as $perm) {
+ $perm = (is_int($perm)) ? self::findPermissionById($perm) : self::findPermissionByName($perm);
+ $user->addPermission($perm);
+ }
+ }
return $user;
}