From e3ea3ed3c563fce2b5fe1addfe199e3aaec7abdb Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Thu, 18 Jul 2013 12:15:34 +0200 Subject: group: only pass backends that hold that specific group to the group constructor --- lib/group/group.php | 2 +- lib/group/manager.php | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/group/group.php b/lib/group/group.php index d4036b4361b..7a639313247 100644 --- a/lib/group/group.php +++ b/lib/group/group.php @@ -225,7 +225,7 @@ class Group { $this->emitter->emit('\OC\Group', 'preDelete', array($this)); } foreach ($this->backends as $backend) { - if ($backend->implementsActions(OC_GROUP_BACKEND_DELETE_GROUP) and $backend->groupExists($this->gid)) { + if ($backend->implementsActions(OC_GROUP_BACKEND_DELETE_GROUP)) { $result = true; $backend->deleteGroup($this->gid); } diff --git a/lib/group/manager.php b/lib/group/manager.php index 7efcff0ade0..bf469d51d12 100644 --- a/lib/group/manager.php +++ b/lib/group/manager.php @@ -85,7 +85,13 @@ class Manager extends PublicEmitter { } protected function getGroupObject($gid) { - $this->cachedGroups[$gid] = new Group($gid, $this->backends, $this->userManager, $this); + $backends = array(); + foreach ($this->backends as $backend) { + if ($backend->groupExists($gid)) { + $backends[] = $backend; + } + } + $this->cachedGroups[$gid] = new Group($gid, $backends, $this->userManager, $this); return $this->cachedGroups[$gid]; } -- cgit v1.2.3