summaryrefslogtreecommitdiffstats
path: root/lib/private/group
diff options
context:
space:
mode:
authorStephan Peijnik <speijnik@anexia-it.com>2014-07-11 07:12:04 +0200
committerArthur Schiwon <blizzz@owncloud.com>2014-07-16 12:23:26 +0200
commit4d74aa09bf7102a1104549b08c6bebe2382ec0cd (patch)
tree4f332cce50f89590ccd0f6a083e29fe0d4640398 /lib/private/group
parent7d8a8e78fa7afad6a004341b67cab19f7a4eccf8 (diff)
downloadnextcloud-server-4d74aa09bf7102a1104549b08c6bebe2382ec0cd.tar.gz
nextcloud-server-4d74aa09bf7102a1104549b08c6bebe2382ec0cd.zip
Port of #9584
Fixes #9583 lib/private/group/metadata.php: For subadmins also return an array of groups, indexed by their GIDs. settings/users.php: Convert array of arrays to array of GIDs before calling into OC_Group::displayNamesInGroups. Signed-off-by: Stephan Peijnik <speijnik@anexia-it.com> Fix indentation. Signed-off-by: Stephan Peijnik <speijnik@anexia-it.com> Renamed $grp to $group in foreach loop. Signed-off-by: Stephan Peijnik <speijnik@anexia-it.com> Use is_null() instead of empty() when checking the return value of GroupManager::get(). Additionally, $grp was renamed to $group inside \OC\Group\MetaData::fetchGroups(). Signed-off-by: Stephan Peijnik <speijnik@anexia-it.com> Updated code to reflect changes introduced to \OC\Group\MetaData. Now that fetchGroups() does not exist anymore and getGroups() is called directory, the 'groups' property does not exist anymore. Instead, we now generate that array on the fly and return it from getGroups. Signed-off-by: Stephan Peijnik <speijnik@anexia-it.com>
Diffstat (limited to 'lib/private/group')
-rw-r--r--lib/private/group/metadata.php16
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/private/group/metadata.php b/lib/private/group/metadata.php
index 57abbe20c64..687a735347c 100644
--- a/lib/private/group/metadata.php
+++ b/lib/private/group/metadata.php
@@ -168,7 +168,21 @@ class MetaData {
if($this->isAdmin) {
return $this->groupManager->search($search);
} else {
- return \OC_SubAdmin::getSubAdminsGroups($this->user);
+ $groupIds = \OC_SubAdmin::getSubAdminsGroups($this->user);
+
+ /* \OC_SubAdmin::getSubAdminsGroups() returns an array of GIDs, but this
+ * method is expected to return an array with the GIDs as keys and group objects as
+ * values, so we need to convert this information.
+ */
+ $groups = array();
+ foreach($groupIds as $gid) {
+ $group = $this->groupManager->get($gid);
+ if (!is_null($group)) {
+ $groups[$gid] = $group;
+ }
+ }
+
+ return $groups;
}
}
}