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
diff options
context:
space:
mode:
authorLukas Reschke <lukas@statuscode.ch>2017-01-03 22:38:47 +0300
committerGitHub <noreply@github.com>2017-01-03 22:38:47 +0300
commitce004a2dcfc94d8a383d90549e74acf4456e59d0 (patch)
tree60d9ea45a0c7d8912bae8796e155dc41bcf0923a
parent881d8402edf52998a3a6b728ccaef238f51caf2d (diff)
parent6d046cccf4c3df3332569256300892cfdc22707b (diff)
Merge pull request #7 from nextcloud/add-instanceid-to-fileid1.1.25
Add instanceid to fileid
-rw-r--r--CHANGELOG.md4
-rw-r--r--appinfo/info.xml2
-rw-r--r--css/style.css4
-rw-r--r--js/documents.js2
-rw-r--r--lib/Controller/DocumentController.php8
-rw-r--r--lib/Controller/WopiController.php59
-rw-r--r--templates/documents.php1
7 files changed, 43 insertions, 37 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b5f8415f..01463807 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+**1.1.25**
+- Bug: Fix height for revision history viewer
+- Feature: Support for multitenancy installations of LibreOffice Online
+
**1.1.24**
- Bug: Fix undefined PHP notices
- Security: Properly check for password on password protected shares \ No newline at end of file
diff --git a/appinfo/info.xml b/appinfo/info.xml
index 94ca260e..f3519366 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -5,7 +5,7 @@
<description>Collabora Online allows you to to work with all kinds of office documents directly in your browser. This application requires Collabora Cloudsuite to be installed on one of your servers, please read the documentation to learn more about that.</description>
<summary>Edit office documents directly in your browser.</summary>
<licence>AGPL</licence>
- <version>1.1.24</version>
+ <version>1.1.25</version>
<author>Collabora Productivity based on work of Frank Karlitschek, Victor Dubiniuk</author>
<bugs>https://github.com/nextcloud/richdocuments/issues</bugs>
<repository type="git">https://github.com/nextcloud/richdocuments.git</repository>
diff --git a/css/style.css b/css/style.css
index 78160fa9..3368cc7a 100644
--- a/css/style.css
+++ b/css/style.css
@@ -133,7 +133,7 @@
width: 100%;
z-index: 600;
background-color: #ddd !important;
- top: 45px;
+ top: 0px;
bottom: 0;
}
@@ -149,7 +149,7 @@
z-index: 600;
background-color: #efefef !important;
right: 0;
- top: 45px;
+ top: 0px;
bottom: 0;
box-sizing: border-box;
overflow-x: hidden;
diff --git a/js/documents.js b/js/documents.js
index 7beebee4..3c44b34b 100644
--- a/js/documents.js
+++ b/js/documents.js
@@ -119,7 +119,7 @@ var documentsMain = {
}
// WOPISrc - URL that loolwsd will access (ie. pointing to ownCloud)
- var wopiurl = window.location.protocol + '//' + window.location.host + OC.generateUrl('apps/richdocuments/wopi/files/{file_id}', {file_id: fileId});
+ var wopiurl = window.location.protocol + '//' + window.location.host + OC.generateUrl('apps/richdocuments/wopi/files/{file_id}_{instanceId}', {file_id: fileId, instanceId: instanceId});
var wopisrc = encodeURIComponent(wopiurl);
// urlsrc - the URL from discovery xml that we access for the particular
diff --git a/lib/Controller/DocumentController.php b/lib/Controller/DocumentController.php
index 4fde3599..731f10bc 100644
--- a/lib/Controller/DocumentController.php
+++ b/lib/Controller/DocumentController.php
@@ -104,10 +104,11 @@ class DocumentController extends Controller {
$params = [
'permissions' => $item->getPermissions(),
'title' => $item->getName(),
- 'fileId' => $item->getId(),
+ 'fileId' => $item->getId() . '_' . $this->settings->getSystemValue('instanceid'),
'token' => $token,
'urlsrc' => $urlSrc,
'path' => '/',
+ 'instanceId' => $this->settings->getSystemValue('instanceid'),
];
$response = new TemplateResponse('richdocuments', 'documents', $params, 'empty');
@@ -153,10 +154,11 @@ class DocumentController extends Controller {
$params = [
'permissions' => $share->getPermissions(),
'title' => $item->getName(),
- 'fileId' => $item->getId(),
+ 'fileId' => $item->getId() . '_' . $this->settings->getSystemValue('instanceid'),
'token' => $token,
'urlsrc' => $urlSrc,
'path' => '/',
+ 'instanceId' => $this->settings->getSystemValue('instanceid'),
];
$response = new TemplateResponse('richdocuments', 'documents', $params, 'empty');
@@ -233,7 +235,7 @@ class DocumentController extends Controller {
$ret = $this->wopiParser->getUrlSrc($mimetype);
$response = array(
'status' => 'success',
- 'fileid' => $info['fileid'],
+ 'fileid' => $info['fileid'] . '_' . $this->settings->getSystemValue('instanceid'),
'urlsrc' => $ret['urlsrc'],
'action' => $ret['action'],
'lolang' => $this->settings->getUserValue($this->uid, 'core', 'lang', 'en'),
diff --git a/lib/Controller/WopiController.php b/lib/Controller/WopiController.php
index 0ced4669..561305e0 100644
--- a/lib/Controller/WopiController.php
+++ b/lib/Controller/WopiController.php
@@ -35,32 +35,42 @@ use OCP\AppFramework\Http\StreamResponse;
class WopiController extends Controller {
/** @var IRootFolder */
private $rootFolder;
- /** @var string */
- private $userId;
- /** @var IUserManager */
- private $userManager;
- /** @var Parser */
- private $wopiParser;
/**
* @param string $appName
* @param IRequest $request
* @param IRootFolder $rootFolder
* @param string $UserId
- * @param IUserManager $userManager
- * @param Parser $wopiParser
*/
public function __construct($appName,
$UserId,
IRequest $request,
- IRootFolder $rootFolder,
- IUserManager $userManager,
- Parser $wopiParser) {
+ IRootFolder $rootFolder) {
parent::__construct($appName, $request);
$this->rootFolder = $rootFolder;
- $this->userId = $UserId;
- $this->userManager = $userManager;
- $this->wopiParser = $wopiParser;
+ }
+
+ /**
+ * @param string $fileId
+ * @return array
+ * @throws \Exception
+ */
+ private function parseFileId($fileId) {
+ $arr = explode('_', $fileId, 2);
+ if (count($arr) === 2) {
+ list($fileId, $instanceId) = $arr;
+ $version = '0';
+ } else if (count($arr) === 3) {
+ list($fileId, $instanceId, $version) = $arr;
+ } else {
+ throw new \Exception('$fileId has not the expected format');
+ }
+
+ return [
+ $fileId,
+ $instanceId,
+ $version,
+ ];
}
/**
@@ -76,11 +86,7 @@ class WopiController extends Controller {
public function checkFileInfo($fileId) {
$token = $this->request->getParam('access_token');
- $arr = explode('_', $fileId, 2);
- $version = '0';
- if (count($arr) === 2) {
- list($fileId, $version) = $arr;
- }
+ list($fileId, , $version) = $this->parseFileId($fileId);
$row = new Wopi();
$row->loadBy('token', $token);
@@ -130,11 +136,7 @@ class WopiController extends Controller {
*/
public function getFile($fileId,
$access_token) {
- $arr = explode('_', $fileId, 2);
- $version = '0';
- if (count($arr) === 2) {
- list($fileId, $version) = $arr;
- }
+ list($fileId, , $version) = $this->parseFileId($fileId);
$row = new Wopi();
$row->loadBy('token', $access_token);
@@ -165,12 +167,9 @@ class WopiController extends Controller {
* @param string $access_token
* @return JSONResponse
*/
- public function putFile($fileId, $access_token) {
- $arr = explode('_', $fileId, 2);
- $version = '0';
- if (count($arr) === 2) {
- list($fileId, $version) = $arr;
- }
+ public function putFile($fileId,
+ $access_token) {
+ list($fileId, , $version) = $this->parseFileId($fileId);
$row = new Wopi();
$row->loadBy('token', $access_token);
diff --git a/templates/documents.php b/templates/documents.php
index 41e114e0..6d5dc79a 100644
--- a/templates/documents.php
+++ b/templates/documents.php
@@ -5,6 +5,7 @@
var richdocuments_token = '<?php p($_['token']) ?>';
var richdocuments_urlsrc = '<?php p($_['urlsrc']) ?>';
var richdocuments_path = '<?php p($_['path']) ?>';
+ var instanceId = '<?php p($_['instanceId']) ?>';
</script>
<?php