move preview of attachments into controller

This commit is contained in:
Uwe Steinmann 2020-12-09 19:54:31 +01:00
parent 7162a2b2e1
commit 4b4595181b
2 changed files with 47 additions and 2 deletions

View File

@ -72,6 +72,38 @@ class SeedDMS_Controller_Preview extends SeedDMS_Controller_Common {
$previewer->getPreview($content);
}
break;
case "file":
$object = $this->params['object'];
$document = $this->params['document'];
$width = $this->params['width'];
if (!is_object($object)) {
$this->errormsg = 'invalid_version';
return false;
}
if(null === $this->callHook('file')) {
if($width)
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $width, $settings->_cmdTimeout);
else
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir);
$previewer->setConverters($settings->_converters['preview']);
$previewer->setXsendfile($settings->_enableXsendfile);
if(!$previewer->hasPreview($object)) {
add_log_line("");
if(!$previewer->createPreview($object)) {
add_log_line("", PEAR_LOG_ERR);
}
}
if(!$previewer->hasPreview($object)) {
header('Content-Type: image/svg+xml');
readfile('../views/'.$theme.'/images/empty.svg');
exit;
}
header('Content-Type: image/png');
$previewer->getPreview($object);
}
break;
}
return true;
}

View File

@ -64,7 +64,9 @@ if(isset($_GET['version'])) {
$controller->setParam('version', $version);
$controller->setParam('type', 'version');
if(!$controller->run()) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version"));
header('Content-Type: image/svg+xml');
readfile('../views/'.$theme.'/images/empty.svg');
exit;
}
exit;
} elseif(isset($_GET['file'])) {
@ -72,10 +74,21 @@ if(isset($_GET['version'])) {
if (!is_numeric($file) || intval($file)<1)
exit;
$object = $document->getDocumentFile($file);
$controller->setParam('width', !empty($_GET["width"]) ? $_GET["width"] : null);
$controller->setParam('document', $document);
$controller->setParam('object', $object);
$controller->setParam('type', 'file');
if(!$controller->run()) {
header('Content-Type: image/svg+xml');
readfile('../views/'.$theme.'/images/empty.svg');
exit;
}
exit;
} else {
exit;
}
/* From here on old code which isn't used anymore
if (!is_object($object)) {
exit;
}
@ -98,5 +111,5 @@ if(!$previewer->hasPreview($object)) {
}
header('Content-Type: image/png');
$previewer->getPreview($object);
*/
?>