| @@ 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 |
|
| @@ 796-835 (lines=40) @@ | ||
| 793 | return $data; |
|
| 794 | } |
|
| 795 | ||
| 796 | public function getSharesInFolder($userId, Folder $node, $reshares) { |
|
| 797 | $qb = $this->dbConnection->getQueryBuilder(); |
|
| 798 | $qb->select('*') |
|
| 799 | ->from('share', 's') |
|
| 800 | ->andWhere($qb->expr()->orX( |
|
| 801 | $qb->expr()->eq('item_type', $qb->createNamedParameter('file')), |
|
| 802 | $qb->expr()->eq('item_type', $qb->createNamedParameter('folder')) |
|
| 803 | )) |
|
| 804 | ->andWhere( |
|
| 805 | $qb->expr()->eq('share_type', $qb->createNamedParameter(\OCP\Share::SHARE_TYPE_EMAIL)) |
|
| 806 | ); |
|
| 807 | ||
| 808 | /** |
|
| 809 | * Reshares for this user are shares where they are the owner. |
|
| 810 | */ |
|
| 811 | if ($reshares === false) { |
|
| 812 | $qb->andWhere($qb->expr()->eq('uid_initiator', $qb->createNamedParameter($userId))); |
|
| 813 | } else { |
|
| 814 | $qb->andWhere( |
|
| 815 | $qb->expr()->orX( |
|
| 816 | $qb->expr()->eq('uid_owner', $qb->createNamedParameter($userId)), |
|
| 817 | $qb->expr()->eq('uid_initiator', $qb->createNamedParameter($userId)) |
|
| 818 | ) |
|
| 819 | ); |
|
| 820 | } |
|
| 821 | ||
| 822 | $qb->innerJoin('s', 'filecache' ,'f', $qb->expr()->eq('s.file_source', 'f.fileid')); |
|
| 823 | $qb->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId()))); |
|
| 824 | ||
| 825 | $qb->orderBy('id'); |
|
| 826 | ||
| 827 | $cursor = $qb->execute(); |
|
| 828 | $shares = []; |
|
| 829 | while ($data = $cursor->fetch()) { |
|
| 830 | $shares[$data['fileid']][] = $this->createShareObject($data); |
|
| 831 | } |
|
| 832 | $cursor->closeCursor(); |
|
| 833 | ||
| 834 | return $shares; |
|
| 835 | } |
|
| 836 | ||
| 837 | /** |
|
| 838 | * @inheritdoc |
|