Signed-off-by: Robin Appelman <robin@icewind.nl>tags/v29.0.0beta1
@@ -605,8 +605,9 @@ class FederatedShareProvider implements IShareProvider { | |||
$qb->innerJoin('s', 'filecache', 'f', $qb->expr()->eq('s.file_source', 'f.fileid')); | |||
$qb->andWhere($qb->expr()->eq('f.storage', $qb->createNamedParameter($node->getMountPoint()->getNumericStorageId(), IQueryBuilder::PARAM_INT))); | |||
if ($shallow) { | |||
$qb->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId()))); | |||
$qb->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId(), IQueryBuilder::PARAM_INT))); | |||
} else { | |||
$qb->andWhere($qb->expr()->like('f.path', $qb->createNamedParameter($this->dbConnection->escapeLikeParameter($node->getInternalPath()) . '/%'))); | |||
} |
@@ -1069,6 +1069,7 @@ class ShareByMailProvider implements IShareProvider { | |||
$qb->innerJoin('s', 'filecache', 'f', $qb->expr()->eq('s.file_source', 'f.fileid')); | |||
$qb->andWhere($qb->expr()->eq('f.storage', $qb->createNamedParameter($node->getMountPoint()->getNumericStorageId(), IQueryBuilder::PARAM_INT))); | |||
if ($shallow) { | |||
$qb->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId()))); | |||
} else { |
@@ -692,17 +692,24 @@ class DefaultShareProvider implements IShareProvider { | |||
}, $childMountNodes); | |||
$qb->innerJoin('s', 'filecache', 'f', $qb->expr()->eq('s.file_source', 'f.fileid')); | |||
$storageFilter = $qb->expr()->eq('f.storage', $qb->createNamedParameter($node->getMountPoint()->getNumericStorageId(), IQueryBuilder::PARAM_INT)); | |||
if ($shallow) { | |||
$qb->andWhere( | |||
$qb->expr()->orX( | |||
$qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId())), | |||
$qb->expr()->andX( | |||
$storageFilter, | |||
$qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId())), | |||
), | |||
$qb->expr()->in('f.fileid', $qb->createParameter('chunk')) | |||
) | |||
); | |||
} else { | |||
$qb->andWhere( | |||
$qb->expr()->orX( | |||
$qb->expr()->like('f.path', $qb->createNamedParameter($this->dbConn->escapeLikeParameter($node->getInternalPath()) . '/%')), | |||
$qb->expr()->andX( | |||
$storageFilter, | |||
$qb->expr()->like('f.path', $qb->createNamedParameter($this->dbConn->escapeLikeParameter($node->getInternalPath()) . '/%')), | |||
), | |||
$qb->expr()->in('f.fileid', $qb->createParameter('chunk')) | |||
) | |||
); |