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