readd [post|pre]PreviewDocument hooks

This commit is contained in:
Uwe Steinmann 2017-01-04 17:23:59 +01:00
parent 8b1b9fdb2a
commit b5f8e9efcc

View File

@ -323,36 +323,47 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
return; return;
$accessop = $this->params['accessobject']; $accessop = $this->params['accessobject'];
if($accessop->check_controller_access('Download', array('action'=>'version'))) { if($accessop->check_controller_access('Download', array('action'=>'version'))) {
$latestContent = $document->getLatestContent(); $latestContent = $document->getLatestContent();
switch($latestContent->getMimeType()) { $txt = $this->callHook('preDocumentPreview', $latestContent);
case 'audio/mpeg': if(is_string($txt))
case 'audio/mp3': echo $txt;
case 'audio/ogg': else {
case 'audio/wav': switch($latestContent->getMimeType()) {
$this->contentHeading(getMLText("preview")); case 'audio/mpeg':
case 'audio/mp3':
case 'audio/ogg':
case 'audio/wav':
$this->contentHeading(getMLText("preview"));
?> ?>
<audio controls style="width: 100%;"> <audio controls style="width: 100%;">
<source src="../op/op.Download.php?documentid=<?php echo $document->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" type="audio/mpeg"> <source src="../op/op.Download.php?documentid=<?php echo $document->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" type="audio/mpeg">
</audio> </audio>
<?php <?php
break; break;
case 'application/pdf': case 'application/pdf':
$this->contentHeading(getMLText("preview")); $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> <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 <?php
break; break;
case 'image/svg+xml': case 'image/svg+xml':
$this->contentHeading(getMLText("preview")); $this->contentHeading(getMLText("preview"));
?> ?>
<img src="../op/op.Download.php?documentid=<?php echo $document->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" width="100%"> <img src="../op/op.Download.php?documentid=<?php echo $document->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" width="100%">
<?php <?php
break; break;
default: default:
break; $txt = $this->callHook('additionalDocumentPreview', $latestContent);
if(is_string($txt))
echo $txt;
break;
}
} }
$txt = $this->callHook('postDocumentPreview', $latestContent);
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())) {