Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/richdocuments.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2019-08-21 21:48:11 +0300
committerJulius Härtl <jus@bitgrid.net>2019-08-27 19:43:25 +0300
commit33f39aca11c4fd4b3cd3f920512620792b040c48 (patch)
tree38aa7db9482243ccaaee96d0f2f4ba7958b366de /lib
parent07cf15f76b9b327cf4e2f2a8624ac78b277e1961 (diff)
Fix fetching the display name of federated editors
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'lib')
-rw-r--r--lib/Controller/WopiController.php38
1 files changed, 20 insertions, 18 deletions
diff --git a/lib/Controller/WopiController.php b/lib/Controller/WopiController.php
index 86f104fd..701cfc3e 100644
--- a/lib/Controller/WopiController.php
+++ b/lib/Controller/WopiController.php
@@ -183,28 +183,30 @@ class WopiController extends Controller {
}
if ($wopi->getRemoteServer() !== '') {
- $remoteUserId = $wopi->getGuestDisplayname();
- // TODO: extract from here to reuse
- // https://github.com/nextcloud/server/blob/5b604eaeaba7d5ee5dd12a92f37c9e8e7519c9c2/apps/federatedfilesharing/lib/Notifier.phpcd
- $cloudID = \OC::$server->getCloudIdManager()->resolveCloudId($remoteUserId);
- $response['UserFriendlyName'] = $cloudID->getDisplayId();
- $response['UserExtraInfo']['avatar'] = $this->urlGenerator->linkToRouteAbsolute('core.avatar.getAvatar', ['userId' => explode('@', $remoteUserId)[0], 'size' => 32]);
- $addressBookEntries = \OC::$server->getContactsManager()->search($cloudID->getId(), ['CLOUD']);
- foreach ($addressBookEntries as $entry) {
- if (isset($entry['CLOUD'])) {
- foreach ($entry['CLOUD'] as $cloudID) {
- if ($cloudID === $cloudID->getId()) {
- $response['UserFriendlyName'] = $entry['FN'];
- break;
- }
+ $response = $this->setFederationFileInfo($wopi, $response);
+ }
+
+ return new JSONResponse($response);
+ }
+
+ private function setFederationFileInfo($wopi, $response) {
+ $remoteUserId = $wopi->getGuestDisplayname();
+ $cloudID = \OC::$server->getCloudIdManager()->resolveCloudId($remoteUserId);
+ $response['UserFriendlyName'] = $cloudID->getDisplayId();
+ $response['UserExtraInfo']['avatar'] = $this->urlGenerator->linkToRouteAbsolute('core.avatar.getAvatar', ['userId' => explode('@', $remoteUserId)[0], 'size' => 32]);
+ $cleanCloudId = str_replace(['http://', 'https://'], '', $cloudID->getId());
+ $addressBookEntries = \OC::$server->getContactsManager()->search($cleanCloudId, ['CLOUD']);
+ foreach ($addressBookEntries as $entry) {
+ if (isset($entry['CLOUD'])) {
+ foreach ($entry['CLOUD'] as $cloudID) {
+ if ($cloudID === $cleanCloudId) {
+ $response['UserFriendlyName'] = $entry['FN'];
+ break;
}
}
}
-
-
}
-
- return new JSONResponse($response);
+ return $response;
}
/**