| @@ 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 |
|
| @@ 838-877 (lines=40) @@ | ||
| 835 | return $data; |
|
| 836 | } |
|
| 837 | ||
| 838 | public function getSharesInFolder($userId, Folder $node, $reshares) { |
|
| 839 | $qb = $this->dbConnection->getQueryBuilder(); |
|
| 840 | $qb->select('*') |
|
| 841 | ->from('share', 's') |
|
| 842 | ->andWhere($qb->expr()->orX( |
|
| 843 | $qb->expr()->eq('item_type', $qb->createNamedParameter('file')), |
|
| 844 | $qb->expr()->eq('item_type', $qb->createNamedParameter('folder')) |
|
| 845 | )) |
|
| 846 | ->andWhere( |
|
| 847 | $qb->expr()->eq('share_type', $qb->createNamedParameter(\OCP\Share::SHARE_TYPE_EMAIL)) |
|
| 848 | ); |
|
| 849 | ||
| 850 | /** |
|
| 851 | * Reshares for this user are shares where they are the owner. |
|
| 852 | */ |
|
| 853 | if ($reshares === false) { |
|
| 854 | $qb->andWhere($qb->expr()->eq('uid_initiator', $qb->createNamedParameter($userId))); |
|
| 855 | } else { |
|
| 856 | $qb->andWhere( |
|
| 857 | $qb->expr()->orX( |
|
| 858 | $qb->expr()->eq('uid_owner', $qb->createNamedParameter($userId)), |
|
| 859 | $qb->expr()->eq('uid_initiator', $qb->createNamedParameter($userId)) |
|
| 860 | ) |
|
| 861 | ); |
|
| 862 | } |
|
| 863 | ||
| 864 | $qb->innerJoin('s', 'filecache' ,'f', $qb->expr()->eq('s.file_source', 'f.fileid')); |
|
| 865 | $qb->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId()))); |
|
| 866 | ||
| 867 | $qb->orderBy('id'); |
|
| 868 | ||
| 869 | $cursor = $qb->execute(); |
|
| 870 | $shares = []; |
|
| 871 | while ($data = $cursor->fetch()) { |
|
| 872 | $shares[$data['fileid']][] = $this->createShareObject($data); |
|
| 873 | } |
|
| 874 | $cursor->closeCursor(); |
|
| 875 | ||
| 876 | return $shares; |
|
| 877 | } |
|
| 878 | ||
| 879 | /** |
|
| 880 | * @inheritdoc |
|