[Pkg-owncloud-commits] [owncloud] 15/59: Fixes #9583

David Prévot taffit at moszumanska.debian.org
Fri Jul 18 16:19:25 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository owncloud.

commit 0acb76c97f0b96f99c0b848146e9cf87075806b4
Author: Stephan Peijnik <speijnik at anexia-it.com>
Date:   Fri Jul 11 07:12:04 2014 +0200

    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 at anexia-it.com>
---
 lib/private/group/metadata.php | 14 +++++++++++++-
 settings/users.php             |  9 ++++++++-
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/lib/private/group/metadata.php b/lib/private/group/metadata.php
index 57abbe2..20f26d3 100644
--- a/lib/private/group/metadata.php
+++ b/lib/private/group/metadata.php
@@ -168,7 +168,19 @@ 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.
+             */
+			$this->groups = array();
+            foreach($groupIds as $gid) {
+                $grp = $this->groupManager->get($gid);
+                if (!empty($grp)) {
+                    $this->groups[$gid] = $grp;
+                }
+            }
 		}
 	}
 }
diff --git a/settings/users.php b/settings/users.php
index 29a63a4..9a225d5 100644
--- a/settings/users.php
+++ b/settings/users.php
@@ -35,7 +35,14 @@ if($isAdmin) {
 	$accessibleUsers = OC_User::getDisplayNames('', 30);
 	$subadmins = OC_SubAdmin::getAllSubAdmins();
 }else{
-	$accessibleUsers = OC_Group::displayNamesInGroups($groups, '', 30);
+    /* Retrieve group IDs from $groups array, so we can pass that information into OC_Group::displayNamesInGroups() */
+    $gids = array();
+    foreach($groups as $grp) {
+        if (isset($grp['id'])) {
+            $gids[] = $grp['id'];
+        }
+    }
+	$accessibleUsers = OC_Group::displayNamesInGroups($gids, '', 30);
 	$subadmins = false;
 }
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list