add hooks for showing preview of document

This commit is contained in:
Uwe Steinmann 2016-12-22 09:11:40 +01:00
parent 7bf6ec003c
commit 259c7ffc3c

View File

@ -174,34 +174,46 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
if(!$showfullpreview) if(!$showfullpreview)
return; return;
$latestContent = $document->getLatestContent(); $txt = $this->callHook('preDocumentPreview', $document);
switch($latestContent->getMimeType()) { if(is_string($txt))
case 'audio/mpeg': echo $txt;
case 'audio/mp3': else {
case 'audio/ogg': $latestContent = $document->getLatestContent();
case 'audio/wav': switch($latestContent->getMimeType()) {
$this->contentHeading(getMLText("preview")); case 'audio/mpeg':
?> case 'audio/mp3':
<audio controls style="width: 100%;"> case 'audio/ogg':
<source src="../op/op.Download.php?documentid=<?php echo $document->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" type="audio/mpeg"> case 'audio/wav':
</audio> $this->contentHeading(getMLText("preview"));
<?php ?>
break; <audio controls style="width: 100%;">
case 'application/pdf': <source src="../op/op.Download.php?documentid=<?php echo $document->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" type="audio/mpeg">
$this->contentHeading(getMLText("preview")); </audio>
?> <?php
<iframe src="../pdfviewer/web/viewer.html?file=<?php echo urlencode('../../op/op.Download.php?documentid='.$document->getID().'&version='.$latestContent->getVersion()); ?>" width="100%" height="700px"></iframe> break;
<?php case 'application/pdf':
break; $this->contentHeading(getMLText("preview"));
case 'image/svg+xml': ?>
$this->contentHeading(getMLText("preview")); <iframe src="../pdfviewer/web/viewer.html?file=<?php echo urlencode('../../op/op.Download.php?documentid='.$document->getID().'&version='.$latestContent->getVersion()); ?>" width="100%" height="700px"></iframe>
?> <?php
<img src="../op/op.Download.php?documentid=<?php echo $document->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" width="100%"> break;
<?php case 'image/svg+xml':
break; $this->contentHeading(getMLText("preview"));
default: ?>
break; <img src="../op/op.Download.php?documentid=<?php echo $document->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" width="100%">
<?php
break;
default:
$txt = $this->callHook('additionalDocumentPreview', $document);
if(is_string($txt))
echo $txt;
break;
}
} }
$txt = $this->callHook('postDocumentPreview', $document);
if(is_string($txt))
echo $txt;
if($converttopdf) { if($converttopdf) {
$pdfpreviewer = new SeedDMS_Preview_PdfPreviewer($cachedir, $timeout); $pdfpreviewer = new SeedDMS_Preview_PdfPreviewer($cachedir, $timeout);
if($pdfpreviewer->hasConverter($latestContent->getMimeType())) { if($pdfpreviewer->hasConverter($latestContent->getMimeType())) {