summaryrefslogtreecommitdiffstats
path: root/lib/group/backend.php
diff options
context:
space:
mode:
authorBart Visscher <bartv@thisnet.nl>2012-05-08 17:46:35 +0200
committerBart Visscher <bartv@thisnet.nl>2012-05-10 09:14:26 +0200
commite77ba0280a0ebceef348750f5ff9738012e2b8fb (patch)
tree581e41f677eb86ba79cc3f243cce24e04dfd352c /lib/group/backend.php
parentac2e0cd6e450607585fbac2ec00a952744a4a36b (diff)
downloadnextcloud-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.php58
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();
+ }
+
}