| @@ 586-625 (lines=40) @@ | ||
| 583 | } |
|
| 584 | ||
| 585 | ||
| 586 | public function getSharesInFolder($userId, Folder $node, $reshares) { |
|
| 587 | $qb = $this->dbConnection->getQueryBuilder(); |
|
| 588 | $qb->select('*') |
|
| 589 | ->from('share', 's') |
|
| 590 | ->andWhere($qb->expr()->orX( |
|
| 591 | $qb->expr()->eq('item_type', $qb->createNamedParameter('file')), |
|
| 592 | $qb->expr()->eq('item_type', $qb->createNamedParameter('folder')) |
|
| 593 | )) |
|
| 594 | ->andWhere( |
|
| 595 | $qb->expr()->eq('share_type', $qb->createNamedParameter(\OCP\Share::SHARE_TYPE_REMOTE)) |
|
| 596 | ); |
|
| 597 | ||
| 598 | /** |
|
| 599 | * Reshares for this user are shares where they are the owner. |
|
| 600 | */ |
|
| 601 | if ($reshares === false) { |
|
| 602 | $qb->andWhere($qb->expr()->eq('uid_initiator', $qb->createNamedParameter($userId))); |
|
| 603 | } else { |
|
| 604 | $qb->andWhere( |
|
| 605 | $qb->expr()->orX( |
|
| 606 | $qb->expr()->eq('uid_owner', $qb->createNamedParameter($userId)), |
|
| 607 | $qb->expr()->eq('uid_initiator', $qb->createNamedParameter($userId)) |
|
| 608 | ) |
|
| 609 | ); |
|
| 610 | } |
|
| 611 | ||
| 612 | $qb->innerJoin('s', 'filecache' ,'f', $qb->expr()->eq('s.file_source', 'f.fileid')); |
|
| 613 | $qb->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId()))); |
|
| 614 | ||
| 615 | $qb->orderBy('id'); |
|
| 616 | ||
| 617 | $cursor = $qb->execute(); |
|
| 618 | $shares = []; |
|
| 619 | while ($data = $cursor->fetch()) { |
|
| 620 | $shares[$data['fileid']][] = $this->createShareObject($data); |
|
| 621 | } |
|
| 622 | $cursor->closeCursor(); |
|
| 623 | ||
| 624 | return $shares; |
|
| 625 | } |
|
| 626 | ||
| 627 | /** |
|
| 628 | * @inheritdoc |
|
| @@ 999-1038 (lines=40) @@ | ||
| 996 | return $data; |
|
| 997 | } |
|
| 998 | ||
| 999 | public function getSharesInFolder($userId, Folder $node, $reshares) { |
|
| 1000 | $qb = $this->dbConnection->getQueryBuilder(); |
|
| 1001 | $qb->select('*') |
|
| 1002 | ->from('share', 's') |
|
| 1003 | ->andWhere($qb->expr()->orX( |
|
| 1004 | $qb->expr()->eq('item_type', $qb->createNamedParameter('file')), |
|
| 1005 | $qb->expr()->eq('item_type', $qb->createNamedParameter('folder')) |
|
| 1006 | )) |
|
| 1007 | ->andWhere( |
|
| 1008 | $qb->expr()->eq('share_type', $qb->createNamedParameter(\OCP\Share::SHARE_TYPE_EMAIL)) |
|
| 1009 | ); |
|
| 1010 | ||
| 1011 | /** |
|
| 1012 | * Reshares for this user are shares where they are the owner. |
|
| 1013 | */ |
|
| 1014 | if ($reshares === false) { |
|
| 1015 | $qb->andWhere($qb->expr()->eq('uid_initiator', $qb->createNamedParameter($userId))); |
|
| 1016 | } else { |
|
| 1017 | $qb->andWhere( |
|
| 1018 | $qb->expr()->orX( |
|
| 1019 | $qb->expr()->eq('uid_owner', $qb->createNamedParameter($userId)), |
|
| 1020 | $qb->expr()->eq('uid_initiator', $qb->createNamedParameter($userId)) |
|
| 1021 | ) |
|
| 1022 | ); |
|
| 1023 | } |
|
| 1024 | ||
| 1025 | $qb->innerJoin('s', 'filecache' ,'f', $qb->expr()->eq('s.file_source', 'f.fileid')); |
|
| 1026 | $qb->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId()))); |
|
| 1027 | ||
| 1028 | $qb->orderBy('id'); |
|
| 1029 | ||
| 1030 | $cursor = $qb->execute(); |
|
| 1031 | $shares = []; |
|
| 1032 | while ($data = $cursor->fetch()) { |
|
| 1033 | $shares[$data['fileid']][] = $this->createShareObject($data); |
|
| 1034 | } |
|
| 1035 | $cursor->closeCursor(); |
|
| 1036 | ||
| 1037 | return $shares; |
|
| 1038 | } |
|
| 1039 | ||
| 1040 | /** |
|
| 1041 | * @inheritdoc |
|