diff options
author | Bart Visscher <bartv@thisnet.nl> | 2012-05-08 17:46:35 +0200 |
---|---|---|
committer | Bart Visscher <bartv@thisnet.nl> | 2012-05-10 09:14:26 +0200 |
commit | e77ba0280a0ebceef348750f5ff9738012e2b8fb (patch) | |
tree | 581e41f677eb86ba79cc3f243cce24e04dfd352c /lib/group/backend.php | |
parent | ac2e0cd6e450607585fbac2ec00a952744a4a36b (diff) | |
download | nextcloud-server-e77ba0280a0ebceef348750f5ff9738012e2b8fb.tar.gz nextcloud-server-e77ba0280a0ebceef348750f5ff9738012e2b8fb.zip |
Implement default functions in OC_Group backend
Simplifies calling these functions, and makes code simpler
functions:
inGroup
getUserGroups
getGroups
usersInGroup
Diffstat (limited to 'lib/group/backend.php')
-rw-r--r-- | lib/group/backend.php | 58 |
1 files changed, 45 insertions, 13 deletions
diff --git a/lib/group/backend.php b/lib/group/backend.php index af6c53c8035..7984a6a8355 100644 --- a/lib/group/backend.php +++ b/lib/group/backend.php @@ -31,12 +31,8 @@ define('OC_GROUP_BACKEND_NOT_IMPLEMENTED', -501); */ define('OC_GROUP_BACKEND_CREATE_GROUP', 0x00000001); define('OC_GROUP_BACKEND_DELETE_GROUP', 0x00000010); -define('OC_GROUP_BACKEND_IN_GROUP', 0x00000100); -define('OC_GROUP_BACKEND_ADD_TO_GROUP', 0x00001000); -define('OC_GROUP_BACKEND_REMOVE_FROM_GOUP', 0x00010000); -define('OC_GROUP_BACKEND_GET_USER_GROUPS', 0x00100000); -define('OC_GROUP_BACKEND_GET_USERS', 0x01000000); -define('OC_GROUP_BACKEND_GET_GROUPS', 0x10000000); +define('OC_GROUP_BACKEND_ADD_TO_GROUP', 0x00000100); +define('OC_GROUP_BACKEND_REMOVE_FROM_GOUP', 0x00001000); /** * Abstract base class for user management @@ -45,12 +41,8 @@ abstract class OC_Group_Backend { protected $possibleActions = array( OC_GROUP_BACKEND_CREATE_GROUP => 'createGroup', OC_GROUP_BACKEND_DELETE_GROUP => 'deleteGroup', - OC_GROUP_BACKEND_IN_GROUP => 'inGroup', OC_GROUP_BACKEND_ADD_TO_GROUP => 'addToGroup', OC_GROUP_BACKEND_REMOVE_FROM_GOUP => 'removeFromGroup', - OC_GROUP_BACKEND_GET_USER_GROUPS => 'getUserGroups', - OC_GROUP_BACKEND_GET_USERS => 'usersInGroup', - OC_GROUP_BACKEND_GET_GROUPS => 'getGroups' ); /** @@ -84,14 +76,54 @@ abstract class OC_Group_Backend { } /** + * @brief is user in group? + * @param $uid uid of the user + * @param $gid gid of the group + * @returns true/false + * + * Checks whether the user is member of a group or not. + */ + public static function inGroup($uid, $gid){ + return in_array($gid, $this->getUserGroups($uid)); + } + + /** + * @brief Get all groups a user belongs to + * @param $uid Name of the user + * @returns array with group names + * + * This function fetches all groups a user belongs to. It does not check + * if the user exists at all. + */ + public static function getUserGroups($uid){ + return array(); + } + + /** + * @brief get a list of all groups + * @returns array with group names + * + * Returns a list with all groups + */ + public static function getGroups(){ + return array(); + } + + /** * check if a group exists * @param string $gid * @return bool */ public function groupExists($gid){ - if(!$this->implementsActions(OC_GROUP_BACKEND_GET_GROUPS)){ - return false; - } return in_array($gid, $this->getGroups()); } + + /** + * @brief get a list of all users in a group + * @returns array with user ids + */ + public static function usersInGroup($gid){ + return array(); + } + } |