Add instance id to file id
For multitenancy Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
This commit is contained in:
parent
881d8402ed
commit
1441bdc594
@ -104,7 +104,7 @@ class DocumentController extends Controller {
|
|||||||
$params = [
|
$params = [
|
||||||
'permissions' => $item->getPermissions(),
|
'permissions' => $item->getPermissions(),
|
||||||
'title' => $item->getName(),
|
'title' => $item->getName(),
|
||||||
'fileId' => $item->getId(),
|
'fileId' => $item->getId() . '_' . $this->settings->getSystemValue('instanceid'),
|
||||||
'token' => $token,
|
'token' => $token,
|
||||||
'urlsrc' => $urlSrc,
|
'urlsrc' => $urlSrc,
|
||||||
'path' => '/',
|
'path' => '/',
|
||||||
@ -153,7 +153,7 @@ class DocumentController extends Controller {
|
|||||||
$params = [
|
$params = [
|
||||||
'permissions' => $share->getPermissions(),
|
'permissions' => $share->getPermissions(),
|
||||||
'title' => $item->getName(),
|
'title' => $item->getName(),
|
||||||
'fileId' => $item->getId(),
|
'fileId' => $item->getId() . '_' . $this->settings->getSystemValue('instanceid'),
|
||||||
'token' => $token,
|
'token' => $token,
|
||||||
'urlsrc' => $urlSrc,
|
'urlsrc' => $urlSrc,
|
||||||
'path' => '/',
|
'path' => '/',
|
||||||
@ -233,7 +233,7 @@ class DocumentController extends Controller {
|
|||||||
$ret = $this->wopiParser->getUrlSrc($mimetype);
|
$ret = $this->wopiParser->getUrlSrc($mimetype);
|
||||||
$response = array(
|
$response = array(
|
||||||
'status' => 'success',
|
'status' => 'success',
|
||||||
'fileid' => $info['fileid'],
|
'fileid' => $info['fileid'] . '_' . $this->settings->getSystemValue('instanceid'),
|
||||||
'urlsrc' => $ret['urlsrc'],
|
'urlsrc' => $ret['urlsrc'],
|
||||||
'action' => $ret['action'],
|
'action' => $ret['action'],
|
||||||
'lolang' => $this->settings->getUserValue($this->uid, 'core', 'lang', 'en'),
|
'lolang' => $this->settings->getUserValue($this->uid, 'core', 'lang', 'en'),
|
||||||
|
@ -35,32 +35,42 @@ use OCP\AppFramework\Http\StreamResponse;
|
|||||||
class WopiController extends Controller {
|
class WopiController extends Controller {
|
||||||
/** @var IRootFolder */
|
/** @var IRootFolder */
|
||||||
private $rootFolder;
|
private $rootFolder;
|
||||||
/** @var string */
|
|
||||||
private $userId;
|
|
||||||
/** @var IUserManager */
|
|
||||||
private $userManager;
|
|
||||||
/** @var Parser */
|
|
||||||
private $wopiParser;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $appName
|
* @param string $appName
|
||||||
* @param IRequest $request
|
* @param IRequest $request
|
||||||
* @param IRootFolder $rootFolder
|
* @param IRootFolder $rootFolder
|
||||||
* @param string $UserId
|
* @param string $UserId
|
||||||
* @param IUserManager $userManager
|
|
||||||
* @param Parser $wopiParser
|
|
||||||
*/
|
*/
|
||||||
public function __construct($appName,
|
public function __construct($appName,
|
||||||
$UserId,
|
$UserId,
|
||||||
IRequest $request,
|
IRequest $request,
|
||||||
IRootFolder $rootFolder,
|
IRootFolder $rootFolder) {
|
||||||
IUserManager $userManager,
|
|
||||||
Parser $wopiParser) {
|
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->rootFolder = $rootFolder;
|
$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) {
|
public function checkFileInfo($fileId) {
|
||||||
$token = $this->request->getParam('access_token');
|
$token = $this->request->getParam('access_token');
|
||||||
|
|
||||||
$arr = explode('_', $fileId, 2);
|
list($fileId, , $version) = $this->parseFileId($fileId);
|
||||||
$version = '0';
|
|
||||||
if (count($arr) === 2) {
|
|
||||||
list($fileId, $version) = $arr;
|
|
||||||
}
|
|
||||||
|
|
||||||
$row = new Wopi();
|
$row = new Wopi();
|
||||||
$row->loadBy('token', $token);
|
$row->loadBy('token', $token);
|
||||||
@ -130,11 +136,7 @@ class WopiController extends Controller {
|
|||||||
*/
|
*/
|
||||||
public function getFile($fileId,
|
public function getFile($fileId,
|
||||||
$access_token) {
|
$access_token) {
|
||||||
$arr = explode('_', $fileId, 2);
|
list($fileId, , $version) = $this->parseFileId($fileId);
|
||||||
$version = '0';
|
|
||||||
if (count($arr) === 2) {
|
|
||||||
list($fileId, $version) = $arr;
|
|
||||||
}
|
|
||||||
|
|
||||||
$row = new Wopi();
|
$row = new Wopi();
|
||||||
$row->loadBy('token', $access_token);
|
$row->loadBy('token', $access_token);
|
||||||
@ -165,12 +167,9 @@ class WopiController extends Controller {
|
|||||||
* @param string $access_token
|
* @param string $access_token
|
||||||
* @return JSONResponse
|
* @return JSONResponse
|
||||||
*/
|
*/
|
||||||
public function putFile($fileId, $access_token) {
|
public function putFile($fileId,
|
||||||
$arr = explode('_', $fileId, 2);
|
$access_token) {
|
||||||
$version = '0';
|
list($fileId, , $version) = $this->parseFileId($fileId);
|
||||||
if (count($arr) === 2) {
|
|
||||||
list($fileId, $version) = $arr;
|
|
||||||
}
|
|
||||||
|
|
||||||
$row = new Wopi();
|
$row = new Wopi();
|
||||||
$row->loadBy('token', $access_token);
|
$row->loadBy('token', $access_token);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user