diff options
-rw-r--r-- | modules/gallery/helpers/identity.php | 14 | ||||
-rw-r--r-- | modules/gallery/libraries/IdentityProvider.php | 14 | ||||
-rw-r--r-- | modules/gallery/libraries/drivers/IdentityProvider.php | 13 | ||||
-rw-r--r-- | modules/user/libraries/drivers/IdentityProvider/Gallery.php | 18 |
4 files changed, 59 insertions, 0 deletions
diff --git a/modules/gallery/helpers/identity.php b/modules/gallery/helpers/identity.php index 0111cb1a..72e3312d 100644 --- a/modules/gallery/helpers/identity.php +++ b/modules/gallery/helpers/identity.php @@ -227,4 +227,18 @@ class identity_Core { static function groups() { return IdentityProvider::instance()->groups(); } + + /** + * @see IdentityProvider_Driver::add_user_to_group. + */ + static function add_user_to_group($user, $group_id) { + return IdentityProvider::instance()->add_user_to_group($user, $group_id); + } + + /** + * @see IdentityProvider_Driver::remove_user_to_group. + */ + static function remove_user_from_group($user, $group_id) { + return IdentityProvider::instance()->remove_user_from_group($user, $group_id); + } }
\ No newline at end of file diff --git a/modules/gallery/libraries/IdentityProvider.php b/modules/gallery/libraries/IdentityProvider.php index 3bb4fcf5..aa519bd3 100644 --- a/modules/gallery/libraries/IdentityProvider.php +++ b/modules/gallery/libraries/IdentityProvider.php @@ -190,4 +190,18 @@ class IdentityProvider_Core { public function groups() { return $this->driver->groups(); } + + /** + * @see IdentityProvider_Driver::add_user_to_group. + */ + public function add_user_to_group($user, $group_id) { + return $this->driver->add_user_to_group($user, $group_id); + } + + /** + * @see IdentityProvider_Driver::remove_user_to_group. + */ + public function remove_user_from_group($user, $group_id) { + return $this->driver->remove_user_from_group($user, $group_id); + } } // End Identity diff --git a/modules/gallery/libraries/drivers/IdentityProvider.php b/modules/gallery/libraries/drivers/IdentityProvider.php index 739c7f6a..a808c7e8 100644 --- a/modules/gallery/libraries/drivers/IdentityProvider.php +++ b/modules/gallery/libraries/drivers/IdentityProvider.php @@ -113,6 +113,19 @@ interface IdentityProvider_Driver { */ public function groups(); + /** + * Add the user to the specified group + * @param User_Definition the user to add to the group + * @param int the group_id + */ + static function add_user_to_group($user, $group_id); + + /** + * Remove the user to the specified group + * @param User_Definition the user to add to the group + * @param int the group id + */ + static function remove_user_from_group($user, $group_id); } // End Identity Driver Definition interface Group_Definition {} diff --git a/modules/user/libraries/drivers/IdentityProvider/Gallery.php b/modules/user/libraries/drivers/IdentityProvider/Gallery.php index f133a32a..f02c53a2 100644 --- a/modules/user/libraries/drivers/IdentityProvider/Gallery.php +++ b/modules/user/libraries/drivers/IdentityProvider/Gallery.php @@ -139,5 +139,23 @@ class IdentityProvider_Gallery_Driver implements IdentityProvider_Driver { return ORM::factory("group")->find_all(); } + /** + * @see IdentityProvider_Driver::add_user_to_group. + */ + static function add_user_to_group($user, $group_id) { + $group = self::lookup_group($group_id); + + $group->add($user); + $group->save(); + } + + /** + * @see IdentityProvider_Driver::remove_user_to_group. + */ + static function remove_user_from_group($user, $group_id) { + $group = self::lookup_group_by_name($group_id); + $group->remove($user); + $group->save(); + } } // End Identity Gallery Driver |