Merge branch 'seeddms-4.3.x' into seeddms-5.0.x

This commit is contained in:
Uwe Steinmann 2017-01-06 07:25:12 +01:00
commit 86c4f75c4e
2 changed files with 50 additions and 14 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*.tar.gz
SeedDMS_*/*.tgz

View File

@ -542,10 +542,10 @@ function getDocumentContent($id) { /* {{{ */
$lc = $document->getLatestContent(); $lc = $document->getLatestContent();
$app->response()->header('Content-Type', $lc->getMimeType()); $app->response()->header('Content-Type', $lc->getMimeType());
$app->response()->header("Content-Disposition: filename=\"" . $document->getName().$lc->getFileType() . "\""); $app->response()->header("Content-Disposition: filename=\"" . $document->getName().$lc->getFileType() . "\"");
$app->response()->header("Content-Length: " . filesize($dms->contentDir . $lc->getPath())); $app->response()->header("Content-Length", filesize($dms->contentDir . $lc->getPath()));
$app->response()->header("Expires: 0"); $app->response()->header("Expires", "0");
$app->response()->header("Cache-Control: no-cache, must-revalidate"); $app->response()->header("Cache-Control", "no-cache, must-revalidate");
$app->response()->header("Pragma: no-cache"); $app->response()->header("Pragma", "no-cache");
readfile($dms->contentDir . $lc->getPath()); readfile($dms->contentDir . $lc->getPath());
} else { } else {
@ -592,11 +592,11 @@ function getDocumentVersion($id, $version) { /* {{{ */
if ($document->getAccessMode($userobj) >= M_READ) { if ($document->getAccessMode($userobj) >= M_READ) {
$lc = $document->getContentByVersion($version); $lc = $document->getContentByVersion($version);
$app->response()->header('Content-Type', $lc->getMimeType()); $app->response()->header('Content-Type', $lc->getMimeType());
$app->response()->header("Content-Disposition: filename=\"" . $document->getName().$lc->getFileType() . "\""); $app->response()->header("Content-Disposition", "filename=\"" . $document->getName().$lc->getFileType() . "\"");
$app->response()->header("Content-Length: " . filesize($dms->contentDir . $lc->getPath())); $app->response()->header("Content-Length", filesize($dms->contentDir . $lc->getPath()));
$app->response()->header("Expires: 0"); $app->response()->header("Expires", "0");
$app->response()->header("Cache-Control: no-cache, must-revalidate"); $app->response()->header("Cache-Control", "no-cache, must-revalidate");
$app->response()->header("Pragma: no-cache"); $app->response()->header("Pragma", "no-cache");
readfile($dms->contentDir . $lc->getPath()); readfile($dms->contentDir . $lc->getPath());
} else { } else {
@ -638,11 +638,11 @@ function getDocumentFile($id, $fileid) { /* {{{ */
if ($document->getAccessMode($userobj) >= M_READ) { if ($document->getAccessMode($userobj) >= M_READ) {
$file = $document->getDocumentFile($fileid); $file = $document->getDocumentFile($fileid);
$app->response()->header('Content-Type', $file->getMimeType()); $app->response()->header('Content-Type', $file->getMimeType());
$app->response()->header("Content-Disposition: filename=\"" . $document->getName().$file->getFileType() . "\""); $app->response()->header("Content-Disposition", "filename=\"" . $document->getName().$file->getFileType() . "\"");
$app->response()->header("Content-Length: " . filesize($dms->contentDir . $file->getPath())); $app->response()->header("Content-Length", filesize($dms->contentDir . $file->getPath()));
$app->response()->header("Expires: 0"); $app->response()->header("Expires", "0");
$app->response()->header("Cache-Control: no-cache, must-revalidate"); $app->response()->header("Cache-Control", "no-cache, must-revalidate");
$app->response()->header("Pragma: no-cache"); $app->response()->header("Pragma", "no-cache");
readfile($dms->contentDir . $file->getPath()); readfile($dms->contentDir . $file->getPath());
} else { } 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() { /* {{{ */ function getAccount() { /* {{{ */
global $app, $dms, $userobj; global $app, $dms, $userobj;
if($userobj) { if($userobj) {
@ -1347,6 +1380,7 @@ $app->get('/document/:id/files', 'getDocumentFiles');
$app->get('/document/:id/file/:fileid', 'getDocumentFile'); $app->get('/document/:id/file/:fileid', 'getDocumentFile');
$app->get('/document/:id/links', 'getDocumentLinks'); $app->get('/document/:id/links', 'getDocumentLinks');
$app->get('/document/:id/attributes', 'getDocumentAttributes'); $app->get('/document/:id/attributes', 'getDocumentAttributes');
$app->get('/document/:id/preview/:version/:width', 'getDocumentPreview');
$app->put('/account/fullname', 'setFullName'); $app->put('/account/fullname', 'setFullName');
$app->put('/account/email', 'setEmail'); $app->put('/account/email', 'setEmail');
$app->get('/account/locked', 'getLockedDocuments'); $app->get('/account/locked', 'getLockedDocuments');