Skip to content

Commit 073d980

Browse files
artongesalmart-dev
authored andcommitted
fix(files_sharing): Move path filtering to group share resolution
Previously, this was preventing users without a specific USERGROUP entry to see GROUP shares. Signed-off-by: Louis Chmn <louis@chmn.me> Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
1 parent f61ef6d commit 073d980

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

lib/private/Share20/DefaultShareProvider.php

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -951,14 +951,23 @@ private function _getSharedWith(
951951
}
952952

953953
if ($path !== null) {
954-
$qb->leftJoin('s', 'share', 'sc', $qb->expr()->eq('sc.parent', 's.id'))
955-
->andWhere($qb->expr()->eq('sc.share_type', $qb->createNamedParameter(IShare::TYPE_USERGROUP)))
956-
->where($qb->expr()->eq('sc.share_with', $qb->createNamedParameter($userId)));
954+
$onClause = $qb->expr()->andX(
955+
$qb->expr()->eq('sc.parent', 's.id'),
956+
$qb->expr()->eq('sc.share_type', $qb->createNamedParameter(IShare::TYPE_USERGROUP)),
957+
$qb->expr()->eq('sc.share_with', $qb->createNamedParameter($userId)),
958+
);
959+
$qb->leftJoin('s', 'share', 'sc', $onClause);
957960

958961
if ($forChildren) {
959-
$qb->andWhere($qb->expr()->like('sc.file_target', $qb->createNamedParameter($this->dbConn->escapeLikeParameter($path) . '_%')));
962+
$qb->orWhere(
963+
$qb->expr()->like('s.file_target', $qb->createNamedParameter($this->dbConn->escapeLikeParameter($path) . '_%')),
964+
$qb->expr()->like('sc.file_target', $qb->createNamedParameter($this->dbConn->escapeLikeParameter($path) . '_%')),
965+
);
960966
} else {
961-
$qb->andWhere($qb->expr()->eq('sc.file_target', $qb->createNamedParameter($path)));
967+
$qb->orWhere(
968+
$qb->expr()->eq('s.file_target', $qb->createNamedParameter($path)),
969+
$qb->expr()->eq('sc.file_target', $qb->createNamedParameter($path)),
970+
);
962971
}
963972
}
964973

0 commit comments

Comments
 (0)