summaryrefslogtreecommitdiffstats
path: root/lib/group.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/group.php')
-rw-r--r--lib/group.php21
1 files changed, 17 insertions, 4 deletions
diff --git a/lib/group.php b/lib/group.php
index ceee5fa4edb..7b137f0f8f1 100644
--- a/lib/group.php
+++ b/lib/group.php
@@ -43,7 +43,7 @@ class OC_Group {
* @returns true/false
*/
public static function useBackend( $backend ){
- if($backend instanceof OC_Group_Backend){
+ if($backend instanceof OC_Group_Interface){
self::$_usedBackends[]=$backend;
}
}
@@ -168,7 +168,7 @@ class OC_Group {
if($run){
$succes=false;
-
+
//add the user to the all backends that have the group
foreach(self::$_usedBackends as $backend){
if(!$backend->implementsActions(OC_GROUP_BACKEND_ADD_TO_GROUP))
@@ -245,7 +245,7 @@ class OC_Group {
asort($groups);
return $groups;
}
-
+
/**
* check if a group exists
* @param string $gid
@@ -259,7 +259,7 @@ class OC_Group {
}
return false;
}
-
+
/**
* @brief get a list of all users in a group
* @returns array with user ids
@@ -271,4 +271,17 @@ class OC_Group {
}
return $users;
}
+
+ /**
+ * @brief get a list of all users in several groups
+ * @param array $gids
+ * @returns array with user ids
+ */
+ public static function usersInGroups($gids){
+ $users = array();
+ foreach($gids as $gid){
+ $users = array_merge(array_diff(self::usersInGroup($gid), $users), $users);
+ }
+ return $users;
+ }
}