diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 841f25248..52a34c474 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -503,7 +503,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Theme_Style { print ""; } /* }}} */ - protected function showVersionDetails($latestContent, $previewer) { /* {{{ */ + protected function showVersionDetails($latestContent, $previewer, $islatest=false) { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; $folder = $this->params['folder']; @@ -599,7 +599,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Theme_Style { $items = array(); if ($file_exists){ - if($accessobject->mayEditVersion($latestContent->getDocument())) { + if($islatest && $accessobject->mayEditVersion($latestContent->getDocument())) { $items[] = array('link'=>"../out/out.EditOnline.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'edit', 'label'=>'edit_version'); } } @@ -609,14 +609,14 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Theme_Style { if($accessobject->mayRemoveVersion($latestContent->getDocument())) { $items[] = array('link'=>"../out/out.RemoveVersion.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'remove', 'label'=>'rm_version'); } - if($accessobject->mayOverrideStatus($latestContent->getDocument())) { + if($islatest && $accessobject->mayOverrideStatus($latestContent->getDocument())) { $items[] = array('link'=>"../out/out.OverrideContentStatus.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'align-justify', 'label'=>'change_status'); } - if($enablereceiptworkflow && $accessobject->check_controller_access('SetRecipients')) + if($islatest && $enablereceiptworkflow && $accessobject->check_controller_access('SetRecipients')) if($accessobject->maySetRecipients($latestContent->getDocument())) { $items[] = array('link'=>"../out/out.SetRecipients.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'check', 'label'=>'change_recipients'); } - if($enablerevisionworkflow && $accessobject->check_controller_access('SetRevisors')) + if($islatest && $enablerevisionworkflow && $accessobject->check_controller_access('SetRevisors')) if($accessobject->maySetRevisors($latestContent->getDocument())) { $items[] = array('link'=>"../out/out.SetRevisors.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'refresh', 'label'=>'change_revisors'); } @@ -643,6 +643,8 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Theme_Style { if($accessobject->mayEditAttributes($latestContent->getDocument())) { $items[] = array('link'=>"out.EditAttributes.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'edit', 'label'=>'edit_attributes'); } + if(!$islatest) + $items[] = array('link'=>"out.DocumentVersionDetail.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'info', 'label'=>'details'); if($newitems = $this->callHook('extraVersionActions', $latestContent)) $items = array_merge($items, $newitems); @@ -829,7 +831,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Theme_Style { $this->contentContainerStart(); $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail, $timeout, $xsendfile); $previewer->setConverters($previewconverters); - $this->showVersionDetails($latestContent, $previewer); + $this->showVersionDetails($latestContent, $previewer, true); $this->contentContainerEnd(); if($user->isAdmin()) { @@ -1600,119 +1602,12 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Theme_Style { if(is_string($txt)) echo $txt; - $this->contentContainerStart(); - - print ""; - print "\n\n"; - print "\n"; - print "\n"; - print "\n\n\n"; - for ($i = count($versions)-2; $i >= 0; $i--) { $version = $versions[$i]; - $vstat = $version->getStatus(); - $workflow = $version->getWorkflow(); - $workflowstate = $version->getWorkflowState(); - - // verify if file exists - $file_exists=file_exists($dms->contentDir . $version->getPath()); - - print "\n"; - print "\n"; - print "\n"; -// print ""; - print "\n\n"; + $this->contentContainerStart(); + $this->showVersionDetails($version, $previewer, false); + $this->contentContainerEnd(); } - print "\n
"; - if($file_exists) { - if ($viewonlinefiletypes && (in_array(strtolower($version->getFileType()), $viewonlinefiletypes) || in_array(strtolower($version->getMimeType()), $viewonlinefiletypes))) { - if($accessobject->check_controller_access('ViewOnline', array('action'=>'run'))) { - print "getDocument()->getId()."&version=".$version->getVersion()."\">"; - } - } else { - if($accessobject->check_controller_access('Download', array('action'=>'version'))) { - print "getDocument()->getId()."&version=".$version->getVersion()."\">"; - } - } - } - $previewer->createPreview($version); - if($previewer->hasPreview($version)) { - print("getDocument()->getId()."&version=".$version->getVersion()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($version->getMimeType())."\">"); - } else { - print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; - } - if($file_exists) { - if($accessobject->check_controller_access('Download', array('action'=>'run')) || $accessobject->check_controller_access('ViewOnline', array('action'=>'run'))) - print "\n"; - } - print "
    \n"; - print "
  • ".htmlspecialchars($version->getOriginalFileName())."
  • \n"; - print "
  • ".getMLText('version').": ".$version->getVersion()."
  • \n"; - if ($file_exists) print "
  • ". SeedDMS_Core_File::format_filesize($version->getFileSize()) .", ".htmlspecialchars($version->getMimeType())."
  • "; - else print "
  • ".getMLText("document_deleted")."
  • "; - $updatingUser = $version->getUser(); - print "
  • ".getMLText("uploaded_by")." getEmail())."\">".htmlspecialchars($updatingUser->getFullName())."
  • "; - print "
  • ".getLongReadableDate($version->getDate())."
  • "; - print "
  • ".getMLText('status').": ".getOverallStatusText($vstat["status"])."
  • "; - print "
\n"; - $txt = $this->callHook('showVersionComment', $version); - if($txt) { - echo $txt; - } else { - if($version->getComment()) - print "

".htmlspecialchars($version->getComment())."

"; - } - print "
    \n"; - $this->printVersionAttributes($folder, $version); - print "
".htmlspecialchars($version->getComment()).""; - if ($file_exists){ - print ""; - } - print "
    "; - /* Only admin has the right to remove version in any case or a regular - * user if enableVersionDeletion is on - */ - if($accessobject->mayRemoveVersion($document)) { - print "
  • ".$this->html_link('RemoveVersion', array('documentid'=>$version->getDocument()->getId(), 'version'=>$version->getVersion()), array(), "".getMLText("rm_version"), false, true)."
  • "; - } - if($accessobject->check_controller_access('AddToTransmittal')) - print "
  • ".$this->html_link('AddToTransmittal', array('documentid'=>$version->getDocument()->getId(), 'version'=>$version->getVersion()), array(), "".getMLText("add_to_transmittal"), false, true)."
  • "; - if($accessobject->mayEditComment($document)) { - print "
  • ".$this->html_link('EditComment', array('documentid'=>$version->getDocument()->getId(), 'version'=>$version->getVersion()), array(), "".getMLText("edit_comment"), false, true)."
  • "; - } - if($accessobject->mayEditAttributes($document)) { - print "
  • ".$this->html_link('EditAttributes', array('documentid'=>$version->getDocument()->getId(), 'version'=>$version->getVersion()), array(), "".getMLText("edit_attributes"), false, true)."
  • "; - } - print "
  • ".$this->html_link('DocumentVersionDetail', array('documentid'=>$version->getDocument()->getId(), 'version'=>$version->getVersion()), array(), "".getMLText("details"), false, true)."
  • "; - $items = $this->callHook('extraVersionActions', $version); - if($items) { - foreach($items as $item) { - if(is_string($item)) - echo "
  • ".$item."
  • "; - elseif(is_array($item)) - echo "
  • ".(!empty($item['icon']) ? "" : "").getMLText($item['label'])."
  • "; - } - } - print "
"; - print "
\n"; - $this->contentContainerEnd(); ?>