mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-05-20 08:31:26 +00:00
move version details in own method showVersionDetails()
This commit is contained in:
parent
b58c16bdee
commit
f63315f6c0
|
@ -449,13 +449,13 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Theme_Style {
|
||||||
if(is_string($item))
|
if(is_string($item))
|
||||||
echo "<li class=\"nav-item\">".$item."</li>";
|
echo "<li class=\"nav-item\">".$item."</li>";
|
||||||
elseif(is_array($item)) {
|
elseif(is_array($item)) {
|
||||||
echo "<li class=\"nav-item m-1\"><a class=\"_nav-link btn btn-outline-primary btn-sm".($item['class'] ? ' '. $item['class'] : '')."\"".(!isset($item['link']) ? " href=\"".$item['link']."\"" : '').(!empty($item['target']) ? ' target="'.$item['target'].'"' : '');
|
echo "<li class=\"nav-item m-1\"><a class=\"_nav-link btn btn-outline-primary btn-sm".(!empty($item['class']) ? ' '. $item['class'] : '')."\"".(isset($item['link']) ? " href=\"".$item['link']."\"" : '').(!empty($item['target']) ? ' target="'.$item['target'].'"' : '');
|
||||||
if(!empty($item['attributes'])) {
|
if(!empty($item['attributes'])) {
|
||||||
foreach($item['attributes'] as $attr) {
|
foreach($item['attributes'] as $attr) {
|
||||||
echo ' '.$attr[0].'="'.$attr[1].'"';
|
echo ' '.$attr[0].'="'.$attr[1].'"';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo ">".(!empty($item['icon']) ? "<i class=\"fa fa-".$item['icon']."\"></i> " : "").getMLText($item['label'])."</a></li>";
|
echo ">".(!empty($item['icon']) ? "<i class=\"fa fa-".$item['icon']."\"></i> " : "").'<span class="d-none d-lg-inline">'.getMLText($item['label'])."</span></a></li>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print "</ul>";
|
print "</ul>";
|
||||||
|
@ -477,6 +477,150 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Theme_Style {
|
||||||
print "</ul>";
|
print "</ul>";
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
protected function showVersionDetails($latestContent) { /* {{{ */
|
||||||
|
$dms = $this->params['dms'];
|
||||||
|
$user = $this->params['user'];
|
||||||
|
$folder = $this->params['folder'];
|
||||||
|
$accessop = $this->params['accessobject'];
|
||||||
|
$viewonlinefiletypes = $this->params['viewonlinefiletypes'];
|
||||||
|
$enableownerrevapp = $this->params['enableownerrevapp'];
|
||||||
|
$workflowmode = $this->params['workflowmode'];
|
||||||
|
$cachedir = $this->params['cachedir'];
|
||||||
|
$previewwidthlist = $this->params['previewWidthList'];
|
||||||
|
$previewwidthdetail = $this->params['previewWidthDetail'];
|
||||||
|
$previewconverters = $this->params['previewConverters'];
|
||||||
|
$timeout = $this->params['timeout'];
|
||||||
|
$xsendfile = $this->params['xsendfile'];
|
||||||
|
|
||||||
|
// verify if file exists
|
||||||
|
$file_exists=file_exists($dms->contentDir . $latestContent->getPath());
|
||||||
|
|
||||||
|
$status = $latestContent->getStatus();
|
||||||
|
|
||||||
|
// print "<table class=\"table\">";
|
||||||
|
// print "<thead>\n<tr>\n";
|
||||||
|
// print "<th colspan=\"2\">".htmlspecialchars($latestContent->getOriginalFileName())."</th>\n";
|
||||||
|
// print "</tr></thead><tbody>\n";
|
||||||
|
// print "<tr>\n";
|
||||||
|
// print "<td style=\"width:".$previewwidthdetail."px; text-align: center;\">";
|
||||||
|
$this->contentHeading(htmlspecialchars($latestContent->getOriginalFileName()));
|
||||||
|
$this->rowStart();
|
||||||
|
$this->columnStart(4);
|
||||||
|
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail, $timeout, $xsendfile);
|
||||||
|
$previewer->setConverters($previewconverters);
|
||||||
|
$previewer->createPreview($latestContent);
|
||||||
|
if ($file_exists) {
|
||||||
|
if ($viewonlinefiletypes && (in_array(strtolower($latestContent->getFileType()), $viewonlinefiletypes) || in_array(strtolower($latestContent->getMimeType()), $viewonlinefiletypes))) {
|
||||||
|
print "<a target=\"_blank\" href=\"../op/op.ViewOnline.php?documentid=".$latestContent->getDocument()->getId()."&version=". $latestContent->getVersion()."\">";
|
||||||
|
} else {
|
||||||
|
print "<a href=\"../op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion()."\">";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if($previewer->hasPreview($latestContent)) {
|
||||||
|
print("<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"../op/op.Preview.php?documentid=".$latestContent->getDocument()->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">");
|
||||||
|
} else {
|
||||||
|
print "<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
|
||||||
|
}
|
||||||
|
if ($file_exists) {
|
||||||
|
print "</a>";
|
||||||
|
}
|
||||||
|
// print "</td>\n";
|
||||||
|
|
||||||
|
// print "<td>";
|
||||||
|
$this->columnEnd();
|
||||||
|
$this->columnStart(4);
|
||||||
|
print "<ul class=\"actions unstyled\">\n";
|
||||||
|
print "<li>".getMLText('version').": ".$latestContent->getVersion()."</li>\n";
|
||||||
|
|
||||||
|
if ($file_exists)
|
||||||
|
print "<li>". SeedDMS_Core_File::format_filesize($latestContent->getFileSize()) .", ".htmlspecialchars($latestContent->getMimeType())."</li>";
|
||||||
|
else print "<li><span class=\"warning\">".getMLText("document_deleted")."</span></li>";
|
||||||
|
|
||||||
|
$updatingUser = $latestContent->getUser();
|
||||||
|
print "<li>".getMLText("uploaded_by")." <a href=\"mailto:".htmlspecialchars($updatingUser->getEmail())."\">".htmlspecialchars($updatingUser->getFullName())."</a></li>";
|
||||||
|
print "<li>".getLongReadableDate($latestContent->getDate())."</li>";
|
||||||
|
|
||||||
|
print "<li>".getMLText('status').": ".getOverallStatusText($status["status"]);
|
||||||
|
if ( $status["status"]==S_DRAFT_REV || $status["status"]==S_DRAFT_APP || $status["status"]==S_IN_WORKFLOW || $status["status"]==S_EXPIRED ){
|
||||||
|
print "<br><span".($latestContent->getDocument()->hasExpired()?" class=\"warning\" ":"").">".(!$latestContent->getDocument()->getExpires() ? getMLText("does_not_expire") : getMLText("expires").": ".getReadableDate($latestContent->getDocument()->getExpires()))."</span>";
|
||||||
|
}
|
||||||
|
print "</li>";
|
||||||
|
print "</ul>\n";
|
||||||
|
|
||||||
|
$txt = $this->callHook('showVersionComment', $latestContent);
|
||||||
|
if($txt) {
|
||||||
|
echo $txt;
|
||||||
|
} else {
|
||||||
|
if($latestContent->getComment())
|
||||||
|
print "<p style=\"font-style: italic;\">".htmlspecialchars($latestContent->getComment())."</p>";
|
||||||
|
}
|
||||||
|
print "<ul class=\"actions unstyled\">\n";
|
||||||
|
$this->printVersionAttributes($folder, $latestContent);
|
||||||
|
print "</ul>";
|
||||||
|
// print "</td>\n";
|
||||||
|
|
||||||
|
// print "<td>";
|
||||||
|
|
||||||
|
$this->columnEnd();
|
||||||
|
$this->columnStart(4);
|
||||||
|
if ($file_exists){
|
||||||
|
$items = array();
|
||||||
|
$items[] = array('link'=>"../op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'download', 'label'=>'download');
|
||||||
|
if ($viewonlinefiletypes && (in_array(strtolower($latestContent->getFileType()), $viewonlinefiletypes) || in_array(strtolower($latestContent->getMimeType()), $viewonlinefiletypes)))
|
||||||
|
$items[] = array('link'=>"../op/op.ViewOnline.php?documentid=".$latestContent->getDocument()->getId()."&version=". $latestContent->getVersion(), 'icon'=>'eye', 'label'=>'view_online', 'target'=>'_blank');
|
||||||
|
if($newitems = $this->callHook('extraVersionViews', $latestContent))
|
||||||
|
$items = array_merge($items, $newitems);
|
||||||
|
if($items) {
|
||||||
|
$this->showActions($items);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$items = array();
|
||||||
|
if ($file_exists){
|
||||||
|
if($accessop->mayEditVersion()) {
|
||||||
|
$items[] = array('link'=>"../out/out.EditOnline.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'edit', 'label'=>'edit_version');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* Only admin has the right to remove version in any case or a regular
|
||||||
|
* user if enableVersionDeletion is on
|
||||||
|
*/
|
||||||
|
if($accessop->mayRemoveVersion()) {
|
||||||
|
$items[] = array('link'=>"../out/out.RemoveVersion.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'remove', 'label'=>'rm_version');
|
||||||
|
}
|
||||||
|
if($accessop->mayOverwriteStatus()) {
|
||||||
|
$items[] = array('link'=>"../out/out.OverrideContentStatus.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'align-justify', 'label'=>'change_status');
|
||||||
|
}
|
||||||
|
if($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') {
|
||||||
|
// Allow changing reviewers/approvals only if not reviewed
|
||||||
|
if($accessop->maySetReviewersApprovers()) {
|
||||||
|
$items[] = array('link'=>"../out/out.SetReviewersApprovers.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'edit', 'label'=>'change_assignments');
|
||||||
|
}
|
||||||
|
} elseif($workflowmode == 'advanced') {
|
||||||
|
if($accessop->maySetWorkflow()) {
|
||||||
|
if(!$workflow) {
|
||||||
|
$items[] = array('link'=>"../out/out.SetWorkflow.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'random', 'label'=>'set_workflow');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if($accessop->mayEditComment()) {
|
||||||
|
$items[] = array('link'=>"out.EditComment.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'comment', 'label'=>'edit_comment');
|
||||||
|
}
|
||||||
|
if($accessop->mayEditAttributes()) {
|
||||||
|
$items[] = array('link'=>"out.EditAttributes.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'edit', 'label'=>'edit_attributes');
|
||||||
|
}
|
||||||
|
|
||||||
|
if($newitems = $this->callHook('extraVersionActions', $latestContent))
|
||||||
|
$items = array_merge($items, $newitems);
|
||||||
|
if($items) {
|
||||||
|
$this->showActions($items);
|
||||||
|
}
|
||||||
|
|
||||||
|
// echo "</td>";
|
||||||
|
// print "</tr></tbody>\n</table>\n";
|
||||||
|
$this->columnEnd();
|
||||||
|
$this->rowEnd();
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
function show() { /* {{{ */
|
function show() { /* {{{ */
|
||||||
parent::show();
|
parent::show();
|
||||||
|
|
||||||
|
@ -559,7 +703,6 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Theme_Style {
|
||||||
$this->infoMsg(getMLText('needs_workflow_action'));
|
$this->infoMsg(getMLText('needs_workflow_action'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$status = $latestContent->getStatus();
|
|
||||||
$reviewStatus = $latestContent->getReviewStatus();
|
$reviewStatus = $latestContent->getReviewStatus();
|
||||||
$approvalStatus = $latestContent->getApprovalStatus();
|
$approvalStatus = $latestContent->getApprovalStatus();
|
||||||
|
|
||||||
|
@ -631,125 +774,8 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Theme_Style {
|
||||||
if(is_string($txt))
|
if(is_string($txt))
|
||||||
echo $txt;
|
echo $txt;
|
||||||
|
|
||||||
// verify if file exists
|
|
||||||
$file_exists=file_exists($dms->contentDir . $latestContent->getPath());
|
|
||||||
|
|
||||||
$this->contentContainerStart();
|
$this->contentContainerStart();
|
||||||
print "<table class=\"table\">";
|
$this->showVersionDetails($latestContent);
|
||||||
print "<thead>\n<tr>\n";
|
|
||||||
print "<th colspan=\"2\">".htmlspecialchars($latestContent->getOriginalFileName())."</th>\n";
|
|
||||||
// print "<th width='*'>".getMLText("file")."</th>\n";
|
|
||||||
// print "<th width='25%'>".getMLText("comment")."</th>\n";
|
|
||||||
// print "<th width='25%'></th>\n";
|
|
||||||
print "</tr></thead><tbody>\n";
|
|
||||||
print "<tr>\n";
|
|
||||||
print "<td style=\"width:".$previewwidthdetail."px; text-align: center;\">";
|
|
||||||
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail, $timeout, $xsendfile);
|
|
||||||
$previewer->setConverters($previewconverters);
|
|
||||||
$previewer->createPreview($latestContent);
|
|
||||||
if ($file_exists) {
|
|
||||||
if ($viewonlinefiletypes && (in_array(strtolower($latestContent->getFileType()), $viewonlinefiletypes) || in_array(strtolower($latestContent->getMimeType()), $viewonlinefiletypes))) {
|
|
||||||
print "<a target=\"_blank\" href=\"../op/op.ViewOnline.php?documentid=".$latestContent->getDocument()->getId()."&version=". $latestContent->getVersion()."\">";
|
|
||||||
} else {
|
|
||||||
print "<a href=\"../op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion()."\">";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if($previewer->hasPreview($latestContent)) {
|
|
||||||
print("<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"../op/op.Preview.php?documentid=".$latestContent->getDocument()->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">");
|
|
||||||
} else {
|
|
||||||
print "<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
|
|
||||||
}
|
|
||||||
if ($file_exists) {
|
|
||||||
print "</a>";
|
|
||||||
}
|
|
||||||
print "</td>\n";
|
|
||||||
|
|
||||||
print "<td><ul class=\"actions unstyled\">\n";
|
|
||||||
print "<li>".getMLText('version').": ".$latestContent->getVersion()."</li>\n";
|
|
||||||
|
|
||||||
if ($file_exists)
|
|
||||||
print "<li>". SeedDMS_Core_File::format_filesize($latestContent->getFileSize()) .", ".htmlspecialchars($latestContent->getMimeType())."</li>";
|
|
||||||
else print "<li><span class=\"warning\">".getMLText("document_deleted")."</span></li>";
|
|
||||||
|
|
||||||
$updatingUser = $latestContent->getUser();
|
|
||||||
print "<li>".getMLText("uploaded_by")." <a href=\"mailto:".htmlspecialchars($updatingUser->getEmail())."\">".htmlspecialchars($updatingUser->getFullName())."</a></li>";
|
|
||||||
print "<li>".getLongReadableDate($latestContent->getDate())."</li>";
|
|
||||||
|
|
||||||
print "<li>".getMLText('status').": ".getOverallStatusText($status["status"]);
|
|
||||||
if ( $status["status"]==S_DRAFT_REV || $status["status"]==S_DRAFT_APP || $status["status"]==S_IN_WORKFLOW || $status["status"]==S_EXPIRED ){
|
|
||||||
print "<br><span".($document->hasExpired()?" class=\"warning\" ":"").">".(!$document->getExpires() ? getMLText("does_not_expire") : getMLText("expires").": ".getReadableDate($document->getExpires()))."</span>";
|
|
||||||
}
|
|
||||||
print "</li>";
|
|
||||||
print "</ul>\n";
|
|
||||||
|
|
||||||
$txt = $this->callHook('showVersionComment', $latestContent);
|
|
||||||
if($txt) {
|
|
||||||
echo $txt;
|
|
||||||
} else {
|
|
||||||
if($latestContent->getComment())
|
|
||||||
print "<p style=\"font-style: italic;\">".htmlspecialchars($latestContent->getComment())."</p>";
|
|
||||||
}
|
|
||||||
print "<ul class=\"actions unstyled\">\n";
|
|
||||||
$this->printVersionAttributes($folder, $latestContent);
|
|
||||||
print "</ul>";
|
|
||||||
// print "</td>\n";
|
|
||||||
|
|
||||||
// print "<td>";
|
|
||||||
|
|
||||||
if ($file_exists){
|
|
||||||
$items = array();
|
|
||||||
$items[] = array('link'=>"../op/op.Download.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'download', 'label'=>'download');
|
|
||||||
if ($viewonlinefiletypes && (in_array(strtolower($latestContent->getFileType()), $viewonlinefiletypes) || in_array(strtolower($latestContent->getMimeType()), $viewonlinefiletypes)))
|
|
||||||
$items[] = array('link'=>"../op/op.ViewOnline.php?documentid=".$latestContent->getDocument()->getId()."&version=". $latestContent->getVersion(), 'icon'=>'eye', 'label'=>'view_online', 'target'=>'_blank');
|
|
||||||
if($newitems = $this->callHook('extraVersionViews', $latestContent))
|
|
||||||
$items = array_merge($items, $newitems);
|
|
||||||
if($items) {
|
|
||||||
$this->showActions($items);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$items = array();
|
|
||||||
if ($file_exists){
|
|
||||||
if($accessop->mayEditVersion()) {
|
|
||||||
$items[] = array('link'=>"../out/out.EditOnline.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'edit', 'label'=>'edit_version');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* Only admin has the right to remove version in any case or a regular
|
|
||||||
* user if enableVersionDeletion is on
|
|
||||||
*/
|
|
||||||
if($accessop->mayRemoveVersion()) {
|
|
||||||
$items[] = array('link'=>"../out/out.RemoveVersion.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'remove', 'label'=>'rm_version');
|
|
||||||
}
|
|
||||||
if($accessop->mayOverwriteStatus()) {
|
|
||||||
$items[] = array('link'=>"../out/out.OverrideContentStatus.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'align-justify', 'label'=>'change_status');
|
|
||||||
}
|
|
||||||
if($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') {
|
|
||||||
// Allow changing reviewers/approvals only if not reviewed
|
|
||||||
if($accessop->maySetReviewersApprovers()) {
|
|
||||||
$items[] = array('link'=>"../out/out.SetReviewersApprovers.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'edit', 'label'=>'change_assignments');
|
|
||||||
}
|
|
||||||
} elseif($workflowmode == 'advanced') {
|
|
||||||
if($accessop->maySetWorkflow()) {
|
|
||||||
if(!$workflow) {
|
|
||||||
$items[] = array('link'=>"../out/out.SetWorkflow.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'random', 'label'=>'set_workflow');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if($accessop->mayEditComment()) {
|
|
||||||
$items[] = array('link'=>"out.EditComment.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'comment', 'label'=>'edit_comment');
|
|
||||||
}
|
|
||||||
if($accessop->mayEditAttributes()) {
|
|
||||||
$items[] = array('link'=>"out.EditAttributes.php?documentid=".$latestContent->getDocument()->getId()."&version=".$latestContent->getVersion(), 'icon'=>'edit', 'label'=>'edit_attributes');
|
|
||||||
}
|
|
||||||
|
|
||||||
if($newitems = $this->callHook('extraVersionActions', $latestContent))
|
|
||||||
$items = array_merge($items, $newitems);
|
|
||||||
if($items) {
|
|
||||||
$this->showActions($items);
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "</td>";
|
|
||||||
print "</tr></tbody>\n</table>\n";
|
|
||||||
$this->contentContainerEnd();
|
$this->contentContainerEnd();
|
||||||
|
|
||||||
if($user->isAdmin()) {
|
if($user->isAdmin()) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user