call hooks to get document content

This commit is contained in:
Uwe Steinmann 2019-02-06 13:22:52 +01:00
parent beba1d9727
commit 2b2fcdad37
2 changed files with 20 additions and 8 deletions

View File

@ -135,7 +135,10 @@ class SeedDMS_View_Clipboard extends SeedDMS_Bootstrap_Style {
if($document = $dms->getDocument($docid)) {
$comment = $document->getComment();
if (strlen($comment) > 150) $comment = substr($comment, 0, 147) . "...";
if($latestContent = $document->getLatestContent()) {
$latestContent = $this->callHook('documentLatestContent', $document);
if($latestContent === null)
$latestContent = $document->getLatestContent();
if($latestContent) {
$previewer->createPreview($latestContent);
$version = $latestContent->getVersion();
$status = $latestContent->getStatus();

View File

@ -186,7 +186,10 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
header('Content-Type: application/javascript');
if($user->isAdmin()) {
$this->printTimelineJs('out.ViewDocument.php?action=timelinedata&documentid='.$document->getID(), 300, '', date('Y-m-d'));
$latestContent = $this->callHook('documentLatestContent', $document);
if($latestContent === null)
$latestContent = $document->getLatestContent();
$this->printTimelineJs('out.ViewDocument.php?action=timelinedata&documentid='.$latestContent->getDocument()->getID(), 300, '', date('Y-m-d'));
}
$this->printDocumentChooserJs("form1");
$this->printDeleteDocumentButtonJs();
@ -338,7 +341,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
if(!$showfullpreview)
return;
$latestContent = $document->getLatestContent();
$latestContent = $this->callHook('documentLatestContent', $document);
if($latestContent === null)
$latestContent = $document->getLatestContent();
$txt = $this->callHook('preDocumentPreview', $latestContent);
if(is_string($txt))
echo $txt;
@ -354,7 +359,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
$this->contentHeading(getMLText("preview"));
?>
<audio controls style="width: 100%;">
<source src="../op/op.ViewOnline.php?documentid=<?php echo $document->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" type="audio/mpeg">
<source src="../op/op.ViewOnline.php?documentid=<?php echo $latestContent->getDocument()->getID(); ?>&version=<?php echo $latestContent->getVersion(); ?>" type="audio/mpeg">
</audio>
<?php
break;
@ -425,7 +430,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
$timeout = $this->params['timeout'];
$xsendfile = $this->params['xsendfile'];
$versions = $document->getContent();
$versions = $this->callHook('documentVersions', $document);
if($versions === null)
$versions = $document->getContent();
$this->htmlAddHeader('<script type="text/javascript" src="../styles/'.$this->theme.'/bootbox/bootbox.min.js"></script>'."\n", 'js');
$this->htmlAddHeader('<link href="../styles/'.$this->theme.'/timeline/timeline.css" rel="stylesheet">'."\n", 'css');
@ -452,7 +459,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
}
/* Retrieve latest content and attacheѕ files */
$latestContent = $document->getLatestContent();
$latestContent = $this->callHook('documentLatestContent', $document);
if($latestContent === null)
$latestContent = $document->getLatestContent();
$files = $document->getDocumentFiles($latestContent->getVersion());
$files = SeedDMS_Core_DMS::filterDocumentFiles($user, $files);
@ -1463,7 +1472,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
</div>
<?php
if($user->isAdmin()) {
$timeline = $document->getTimeline();
$timeline = $latestContent->getDocument()->getTimeline();
if($timeline) {
$this->contentHeading(getMLText("timeline"));
foreach($timeline as &$item) {
@ -1478,7 +1487,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
$msg = getMLText('timeline_'.$item['type'], array('document'=>$item['document']->getName(), 'version'=> $item['version'], 'status'=> getOverallStatusText($item['status'])));
break;
default:
$msg = $this->callHook('getTimelineMsg', $document, $item);
$msg = $this->callHook('getTimelineMsg', $latestContent->getDocument(), $item);
if(!is_string($msg))
$msg = '???';
}