summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/lib/Controller/ShareesAPIController.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_sharing/lib/Controller/ShareesAPIController.php')
-rw-r--r--apps/files_sharing/lib/Controller/ShareesAPIController.php29
1 files changed, 29 insertions, 0 deletions
diff --git a/apps/files_sharing/lib/Controller/ShareesAPIController.php b/apps/files_sharing/lib/Controller/ShareesAPIController.php
index e4b5b0ce19c..eb65727c770 100644
--- a/apps/files_sharing/lib/Controller/ShareesAPIController.php
+++ b/apps/files_sharing/lib/Controller/ShareesAPIController.php
@@ -92,12 +92,14 @@ class ShareesAPIController extends OCSController {
'groups' => [],
'remotes' => [],
'emails' => [],
+ 'circles' => [],
],
'users' => [],
'groups' => [],
'remotes' => [],
'emails' => [],
'lookup' => [],
+ 'circles' => [],
];
protected $reachedEndFor = [];
@@ -294,6 +296,23 @@ class ShareesAPIController extends OCSController {
}
}
+
+ /**
+ * @param string $search
+ */
+ protected function getCircles($search) {
+ $this->result['circles'] = $this->result['exact']['circles'] = [];
+
+ $result = \OCA\Circles\Api\Sharees::search($search, $this->limit, $this->offset);
+ if (array_key_exists('circles', $result['exact'])) {
+ $this->result['exact']['circles'] = $result['exact']['circles'];
+ }
+ if (array_key_exists('circles', $result)) {
+ $this->result['circles'] = $result['circles'];
+ }
+ }
+
+
/**
* @param string $search
* @return array
@@ -453,6 +472,10 @@ class ShareesAPIController extends OCSController {
$shareTypes[] = Share::SHARE_TYPE_EMAIL;
}
+ if (\OCP\App::isEnabled('circles')) {
+ $shareTypes[] = Share::SHARE_TYPE_CIRCLE;
+ }
+
if (isset($_GET['shareType']) && is_array($_GET['shareType'])) {
$shareTypes = array_intersect($shareTypes, $_GET['shareType']);
sort($shareTypes);
@@ -512,6 +535,12 @@ class ShareesAPIController extends OCSController {
$this->getGroups($search);
}
+ // Get circles
+ if (in_array(Share::SHARE_TYPE_CIRCLE, $shareTypes)) {
+ $this->getCircles($search);
+ }
+
+
// Get remote
$remoteResults = ['results' => [], 'exact' => [], 'exactIdMatch' => false];
if (in_array(Share::SHARE_TYPE_REMOTE, $shareTypes)) {