filter missing groups in share provider

Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
Robin Appelman 2017-06-12 15:46:19 +02:00
parent a74901fce1
commit f707a40f19
No known key found for this signature in database
GPG Key ID: CBCA68FBAEBF98C9
2 changed files with 3 additions and 1 deletions

View File

@ -74,7 +74,7 @@ class Manager extends PublicEmitter implements IGroupManager {
private $cachedGroups = array(); private $cachedGroups = array();
/** /**
* @var \OC\Group\Group[] * @var \OC\Group\Group[][]
*/ */
private $cachedUserGroups = array(); private $cachedUserGroups = array();

View File

@ -743,6 +743,8 @@ class DefaultShareProvider implements IShareProvider {
$qb->andWhere($qb->expr()->eq('file_source', $qb->createNamedParameter($node->getId()))); $qb->andWhere($qb->expr()->eq('file_source', $qb->createNamedParameter($node->getId())));
} }
$groups = array_filter($groups, function($group) { return $group instanceof IGroup; });
$groups = array_map(function(IGroup $group) { return $group->getGID(); }, $groups); $groups = array_map(function(IGroup $group) { return $group->getGID(); }, $groups);
$qb->andWhere($qb->expr()->eq('share_type', $qb->createNamedParameter(\OCP\Share::SHARE_TYPE_GROUP))) $qb->andWhere($qb->expr()->eq('share_type', $qb->createNamedParameter(\OCP\Share::SHARE_TYPE_GROUP)))