diff options
author | blizzz <blizzz@arthur-schiwon.de> | 2018-03-16 16:42:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-16 16:42:31 +0100 |
commit | e56759917b4d31b5e6629d2a4ff603e6745446bb (patch) | |
tree | 9e2cb1b7a8f6d18b06c12340a079fc1a99d5b9bd | |
parent | f83aa58d1f82beee86d3e91f390efb48b98a52e0 (diff) | |
parent | ed4b4458eb8bce2e461d952f11756e24c4e7f3c6 (diff) | |
download | nextcloud-server-e56759917b4d31b5e6629d2a4ff603e6745446bb.tar.gz nextcloud-server-e56759917b4d31b5e6629d2a4ff603e6745446bb.zip |
Merge pull request #8843 from nextcloud/set-share-with-field-to-the-id-of-the-circle
Set "share with" field to the ID of the circle
-rw-r--r-- | apps/files_sharing/lib/Controller/ShareAPIController.php | 12 | ||||
-rw-r--r-- | core/js/sharedialogshareelistview.js | 2 | ||||
-rw-r--r-- | core/js/sharedialogview.js | 2 |
3 files changed, 12 insertions, 4 deletions
diff --git a/apps/files_sharing/lib/Controller/ShareAPIController.php b/apps/files_sharing/lib/Controller/ShareAPIController.php index 1e121d8c868..1390eedf26e 100644 --- a/apps/files_sharing/lib/Controller/ShareAPIController.php +++ b/apps/files_sharing/lib/Controller/ShareAPIController.php @@ -207,8 +207,16 @@ class ShareAPIController extends OCSController { $result['share_with_displayname'] = $this->getDisplayNameFromAddressBook($share->getSharedWith(), 'EMAIL'); $result['token'] = $share->getToken(); } else if ($share->getShareType() === \OCP\Share::SHARE_TYPE_CIRCLE) { - $result['share_with_displayname'] = $share->getSharedWith(); - $result['share_with'] = explode(' ', $share->getSharedWith(), 2)[0]; + // getSharedWith() returns either "name (type, owner)" or + // "name (type, owner) [id]", depending on the Circles app version. + $hasCircleId = (substr($share->getSharedWith(), -1) === ']'); + + $displayNameLength = ($hasCircleId? strrpos($share->getSharedWith(), ' '): strlen($share->getSharedWith())); + $result['share_with_displayname'] = substr($share->getSharedWith(), 0, $displayNameLength); + + $shareWithStart = ($hasCircleId? strrpos($share->getSharedWith(), '[') + 1: 0); + $shareWithLength = ($hasCircleId? -1: strpos($share->getSharedWith(), ' ')); + $result['share_with'] = substr($share->getSharedWith(), $shareWithStart, $shareWithLength); } diff --git a/core/js/sharedialogshareelistview.js b/core/js/sharedialogshareelistview.js index 82cf8ee8c36..cda837a66c7 100644 --- a/core/js/sharedialogshareelistview.js +++ b/core/js/sharedialogshareelistview.js @@ -241,7 +241,7 @@ shareWithTitle: shareWithTitle, shareType: shareType, shareId: this.model.get('shares')[shareIndex].id, - modSeed: shareType !== OC.Share.SHARE_TYPE_USER, + modSeed: shareType !== OC.Share.SHARE_TYPE_USER && shareType !== OC.Share.SHARE_TYPE_CIRCLE, isRemoteShare: shareType === OC.Share.SHARE_TYPE_REMOTE, isMailShare: shareType === OC.Share.SHARE_TYPE_EMAIL, isCircleShare: shareType === OC.Share.SHARE_TYPE_CIRCLE, diff --git a/core/js/sharedialogview.js b/core/js/sharedialogview.js index 6b65e46b254..d2c63490141 100644 --- a/core/js/sharedialogview.js +++ b/core/js/sharedialogview.js @@ -338,7 +338,7 @@ } var insert = $("<div class='share-autocomplete-item'/>"); var avatar = $("<div class='avatardiv'></div>").appendTo(insert); - if (item.value.shareType === OC.Share.SHARE_TYPE_USER) { + if (item.value.shareType === OC.Share.SHARE_TYPE_USER || item.value.shareType === OC.Share.SHARE_TYPE_CIRCLE) { avatar.avatar(item.value.shareWith, 32, undefined, undefined, undefined, item.label); } else { avatar.imageplaceholder(text, undefined, 32); |