mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-11 09:35:00 +00:00
add method getDocumentPreview(), fix setting some headers
This commit is contained in:
parent
daa6b1dea1
commit
fd2d343c71
|
@ -542,10 +542,10 @@ function getDocumentContent($id) { /* {{{ */
|
|||
$lc = $document->getLatestContent();
|
||||
$app->response()->header('Content-Type', $lc->getMimeType());
|
||||
$app->response()->header("Content-Disposition: filename=\"" . $document->getName().$lc->getFileType() . "\"");
|
||||
$app->response()->header("Content-Length: " . filesize($dms->contentDir . $lc->getPath()));
|
||||
$app->response()->header("Expires: 0");
|
||||
$app->response()->header("Cache-Control: no-cache, must-revalidate");
|
||||
$app->response()->header("Pragma: no-cache");
|
||||
$app->response()->header("Content-Length", filesize($dms->contentDir . $lc->getPath()));
|
||||
$app->response()->header("Expires", "0");
|
||||
$app->response()->header("Cache-Control", "no-cache, must-revalidate");
|
||||
$app->response()->header("Pragma", "no-cache");
|
||||
|
||||
readfile($dms->contentDir . $lc->getPath());
|
||||
} else {
|
||||
|
@ -592,11 +592,11 @@ function getDocumentVersion($id, $version) { /* {{{ */
|
|||
if ($document->getAccessMode($userobj) >= M_READ) {
|
||||
$lc = $document->getContentByVersion($version);
|
||||
$app->response()->header('Content-Type', $lc->getMimeType());
|
||||
$app->response()->header("Content-Disposition: filename=\"" . $document->getName().$lc->getFileType() . "\"");
|
||||
$app->response()->header("Content-Length: " . filesize($dms->contentDir . $lc->getPath()));
|
||||
$app->response()->header("Expires: 0");
|
||||
$app->response()->header("Cache-Control: no-cache, must-revalidate");
|
||||
$app->response()->header("Pragma: no-cache");
|
||||
$app->response()->header("Content-Disposition", "filename=\"" . $document->getName().$lc->getFileType() . "\"");
|
||||
$app->response()->header("Content-Length", filesize($dms->contentDir . $lc->getPath()));
|
||||
$app->response()->header("Expires", "0");
|
||||
$app->response()->header("Cache-Control", "no-cache, must-revalidate");
|
||||
$app->response()->header("Pragma", "no-cache");
|
||||
|
||||
readfile($dms->contentDir . $lc->getPath());
|
||||
} else {
|
||||
|
@ -638,11 +638,11 @@ function getDocumentFile($id, $fileid) { /* {{{ */
|
|||
if ($document->getAccessMode($userobj) >= M_READ) {
|
||||
$file = $document->getDocumentFile($fileid);
|
||||
$app->response()->header('Content-Type', $file->getMimeType());
|
||||
$app->response()->header("Content-Disposition: filename=\"" . $document->getName().$file->getFileType() . "\"");
|
||||
$app->response()->header("Content-Length: " . filesize($dms->contentDir . $file->getPath()));
|
||||
$app->response()->header("Expires: 0");
|
||||
$app->response()->header("Cache-Control: no-cache, must-revalidate");
|
||||
$app->response()->header("Pragma: no-cache");
|
||||
$app->response()->header("Content-Disposition", "filename=\"" . $document->getName().$file->getFileType() . "\"");
|
||||
$app->response()->header("Content-Length", filesize($dms->contentDir . $file->getPath()));
|
||||
$app->response()->header("Expires", "0");
|
||||
$app->response()->header("Cache-Control", "no-cache, must-revalidate");
|
||||
$app->response()->header("Pragma", "no-cache");
|
||||
|
||||
readfile($dms->contentDir . $file->getPath());
|
||||
} else {
|
||||
|
@ -697,6 +697,39 @@ function getDocumentAttributes($id) { /* {{{ */
|
|||
}
|
||||
} /* }}} */
|
||||
|
||||
function getDocumentPreview($id, $version=0, $width=0) { /* {{{ */
|
||||
global $app, $dms, $userobj, $settings;
|
||||
$document = $dms->getDocument($id);
|
||||
|
||||
if($document) {
|
||||
if ($document->getAccessMode($userobj) >= M_READ) {
|
||||
if($version)
|
||||
$object = $document->getContentByVersion($version);
|
||||
else
|
||||
$object = $document->getLatestContent();
|
||||
if(!$object)
|
||||
exit;
|
||||
|
||||
if(!empty($width))
|
||||
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $width);
|
||||
else
|
||||
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir);
|
||||
if(!$previewer->hasPreview($object))
|
||||
$previewer->createPreview($object);
|
||||
$app->response()->header('Content-Type', 'image/png');
|
||||
$app->response()->header("Content-Disposition", "filename=\"preview-" . $document->getID()."-".$object->getVersion()."-".$width.".png" . "\"");
|
||||
$app->response()->header("Content-Length", $previewer->getFilesize($object));
|
||||
// $app->response()->header("Expires", "0");
|
||||
// $app->response()->header("Cache-Control", "no-cache, must-revalidate");
|
||||
// $app->response()->header("Pragma", "no-cache");
|
||||
|
||||
$previewer->getPreview($object);
|
||||
} else {
|
||||
$app->response()->status(404);
|
||||
}
|
||||
}
|
||||
} /* }}} */
|
||||
|
||||
function getAccount() { /* {{{ */
|
||||
global $app, $dms, $userobj;
|
||||
if($userobj) {
|
||||
|
@ -1347,6 +1380,7 @@ $app->get('/document/:id/files', 'getDocumentFiles');
|
|||
$app->get('/document/:id/file/:fileid', 'getDocumentFile');
|
||||
$app->get('/document/:id/links', 'getDocumentLinks');
|
||||
$app->get('/document/:id/attributes', 'getDocumentAttributes');
|
||||
$app->get('/document/:id/preview/:version/:width', 'getDocumentPreview');
|
||||
$app->put('/account/fullname', 'setFullName');
|
||||
$app->put('/account/email', 'setEmail');
|
||||
$app->get('/account/locked', 'getLockedDocuments');
|
||||
|
|
Loading…
Reference in New Issue
Block a user