Add support for opening and editing files from external storage
This commit is contained in:
parent
e906c47ef5
commit
45d76a1c68
@ -423,17 +423,23 @@ class DocumentController extends Controller {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Login the user to see his mount locations
|
||||||
|
$this->loginUser($res['owner']);
|
||||||
|
|
||||||
$view = new \OC\Files\View('/' . $res['owner'] . '/files');
|
$view = new \OC\Files\View('/' . $res['owner'] . '/files');
|
||||||
$info = $view->getFileInfo($res['path']);
|
$info = $view->getFileInfo($res['path']);
|
||||||
|
|
||||||
|
// Close the session created for user login
|
||||||
|
\OC::$server->getSession()->close();
|
||||||
|
|
||||||
|
if (!$info) {
|
||||||
|
http_response_code(404);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
\OC::$server->getLogger()->debug('File info: {info}.', [ 'app' => $this->appName, 'info' => $info ]);
|
\OC::$server->getLogger()->debug('File info: {info}.', [ 'app' => $this->appName, 'info' => $info ]);
|
||||||
|
|
||||||
$baseFileName = $info['name'];
|
|
||||||
$size = $info['size'];
|
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'BaseFileName' => $baseFileName,
|
'BaseFileName' => $info['name'],
|
||||||
'Size' => $size,
|
'Size' => $info['size'],
|
||||||
'Version' => $version
|
'Version' => $version
|
||||||
//'DownloadUrl' => '',
|
//'DownloadUrl' => '',
|
||||||
//'FileUrl' => '',
|
//'FileUrl' => '',
|
||||||
@ -465,6 +471,9 @@ class DocumentController extends Controller {
|
|||||||
//TODO: Support X-WOPIMaxExpectedSize header.
|
//TODO: Support X-WOPIMaxExpectedSize header.
|
||||||
$res = $row->getPathForToken($fileId, $version, $token);
|
$res = $row->getPathForToken($fileId, $version, $token);
|
||||||
|
|
||||||
|
// Login the user to see his mount locations
|
||||||
|
$this->loginUser($res['owner']);
|
||||||
|
|
||||||
// If some previous version is requested, fetch it from Files_Version app
|
// If some previous version is requested, fetch it from Files_Version app
|
||||||
if ($version !== '0') {
|
if ($version !== '0') {
|
||||||
\OCP\JSON::checkAppEnabled('files_versions');
|
\OCP\JSON::checkAppEnabled('files_versions');
|
||||||
|
@ -120,15 +120,6 @@ class Wopi extends \OCA\Richdocuments\Db{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$owner = $row['owner_uid'];
|
return array('owner' => $row['owner_uid'], 'editor' => $row['editor_uid'], 'path' => $row['path']);
|
||||||
$view = new \OC\Files\View('/' . $owner . '/files');
|
|
||||||
$path = $row['path'];
|
|
||||||
|
|
||||||
if (!$view->is_file($path)) {
|
|
||||||
throw new \Exception('Invalid file path.');
|
|
||||||
}
|
|
||||||
|
|
||||||
$editor = $row['editor_uid'];
|
|
||||||
return array('owner' => $owner, 'editor' => $editor, 'path' => $path);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user