implement previews for single shared files
This commit is contained in:
parent
a2bb0faec6
commit
25e8ac1c2f
|
@ -557,31 +557,40 @@ class Preview {
|
|||
if(array_key_exists('y', $_GET)) $maxY = (int) $_GET['y'];
|
||||
if(array_key_exists('scalingup', $_GET)) $scalingup = (bool) $_GET['scalingup'];
|
||||
if(array_key_exists('t', $_GET)) $token = (string) $_GET['t'];
|
||||
|
||||
|
||||
$linkItem = \OCP\Share::getShareByToken($token);
|
||||
|
||||
|
||||
if (is_array($linkItem) && isset($linkItem['uid_owner']) && isset($linkItem['file_source'])) {
|
||||
$userid = $linkItem['uid_owner'];
|
||||
\OC_Util::setupFS($userid);
|
||||
|
||||
$pathid = $linkItem['file_source'];
|
||||
$path = \OC\Files\Filesystem::getPath($pathid);
|
||||
}
|
||||
|
||||
//clean up file parameter
|
||||
$file = \OC\Files\Filesystem::normalizePath($file);
|
||||
if(!\OC\Files\Filesystem::isValidPath($file)) {
|
||||
\OC_Response::setStatus(403);
|
||||
exit;
|
||||
$pathinfo = \OC\Files\Filesystem::getFileInfo($path);
|
||||
|
||||
$sharedfile = null;
|
||||
if($linkItem['item_type'] === 'folder') {
|
||||
//clean up file parameter
|
||||
$sharedfile = \OC\Files\Filesystem::normalizePath($file);
|
||||
if(!\OC\Files\Filesystem::isValidPath($file)) {
|
||||
\OC_Response::setStatus(403);
|
||||
exit;
|
||||
}
|
||||
} else if($linkItem['item_type'] === 'file') {
|
||||
$parent = $pathinfo['parent'];
|
||||
$path = \OC\Files\Filesystem::getPath($parent);
|
||||
$sharedfile = $pathinfo['name'];
|
||||
}
|
||||
|
||||
$path = \OC\Files\Filesystem::normalizePath($path, false);
|
||||
if(substr($path, 0, 1) == '/') {
|
||||
$path = substr($path, 1);
|
||||
}
|
||||
}
|
||||
|
||||
$path = \OC\Files\Filesystem::normalizePath($path, false);
|
||||
if(substr($path, 0, 1) == '/') {
|
||||
$path = substr($path, 1);
|
||||
}
|
||||
|
||||
if($userid !== null && $path !== null) {
|
||||
if($userid !== null && $path !== null && $sharedfile !== null) {
|
||||
try{
|
||||
$preview = new Preview($userid, 'files/' . $path, $file, $maxX, $maxY, $scalingup);
|
||||
$preview = new Preview($userid, 'files/' . $path, $sharedfile, $maxX, $maxY, $scalingup);
|
||||
$preview->showPreview();
|
||||
}catch(\Exception $e) {
|
||||
\OC_Response::setStatus(404);
|
||||
|
|
Loading…
Reference in New Issue