diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Controller/DocumentController.php | 7 | ||||
-rw-r--r-- | lib/Service/FederationService.php | 8 |
2 files changed, 10 insertions, 5 deletions
diff --git a/lib/Controller/DocumentController.php b/lib/Controller/DocumentController.php index aa98c239..3f2071db 100644 --- a/lib/Controller/DocumentController.php +++ b/lib/Controller/DocumentController.php @@ -194,9 +194,10 @@ class DocumentController extends Controller { $remoteCollabora = $this->federationService->getRemoteCollaboraURL($remote); if ($remoteCollabora !== '') { $absolute = $item->getParent()->getPath(); - $relative = $folder->getRelativePath($absolute); - $url = '/index.php/apps/files?dir=' . $relative . - '&richdocuments_open=' . $item->getName() . + $relativeFolderPath = $folder->getRelativePath($absolute); + $relativeFilePath = $folder->getRelativePath($item->getPath()); + $url = '/index.php/apps/files/?dir=' . $relativeFolderPath . + '&richdocuments_open=' . $relativeFilePath . '&richdocuments_fileId=' . $fileId . '&richdocuments_remote_access=' . $remote; diff --git a/lib/Service/FederationService.php b/lib/Service/FederationService.php index 665cbe1e..fce2ea74 100644 --- a/lib/Service/FederationService.php +++ b/lib/Service/FederationService.php @@ -60,10 +60,14 @@ class FederationService { } catch (QueryException $e) {} } + /** + * @param $remote + * @return string + * @throws \Exception + */ public function getRemoteCollaboraURL($remote) { if ($this->trustedServers === null || !$this->trustedServers->isTrustedServer($remote)) { - $this->logger->info('Unable to determine collabora URL of remote server ' . $remote . ' - Remote is not a trusted server'); - return ''; + throw new \Exception('Unable to determine collabora URL of remote server ' . $remote . ' - Remote is not a trusted server'); } if ($remoteCollabora = $this->cache->get('richdocuments_remote/' . $remote)) { return $remoteCollabora; |