* @copyright Copyright (C) 2002-2005 Markus Westphal, * 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli, * 2010-2012 Uwe Steinmann * @version Release: @package_version@ */ /** * Include parent class */ require_once("class.BlueStyle.php"); /** * Class which outputs the html page for ViewDocument view * * @category DMS * @package SeedDMS * @author Markus Westphal, Malcolm Cowe, Uwe Steinmann * @copyright Copyright (C) 2002-2005 Markus Westphal, * 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli, * 2010-2012 Uwe Steinmann * @version Release: @package_version@ */ class SeedDMS_View_ViewDocument extends SeedDMS_Blue_Style { function show() { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; $folder = $this->params['folder']; $document = $this->params['document']; $accessop = $this->params['accessobject']; $viewonlinefiletypes = $this->params['viewonlinefiletypes']; $documentid = $document->getId(); $this->htmlStartPage(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName())))); $this->globalNavigation($folder); $this->contentStart(); $this->pageNavigation(getFolderPathHTML($folder, true, $document), "view_document"); $this->contentHeading(getMLText("document_infos")); $this->contentContainerStart(); ?> isLocked()) { $lockingUser = $document->getLockingUser(); ?> getAttributes(); if($attributes) { foreach($attributes as $attribute) { $attrdef = $attribute->getAttributeDefinition(); ?>
$lockingUser->getEmail(), "username" => htmlspecialchars($lockingUser->getFullName())));?>
: getOwner(); print "getEmail()."\">".htmlspecialchars($owner->getFullName()).""; ?>
: getComment());?>
: getDate()); ?>
: getKeywords());?>
: getCategories(); $ct = array(); foreach($cats as $cat) $ct[] = htmlspecialchars($cat->getName()); echo implode(', ', $ct); ?>
getName()); ?>: getValue()); ?>
contentContainerEnd(); $versions = $document->getContent(); if(!$latestContent = $document->getLatestContent()) { $this->contentHeading(getMLText("current_version")); $this->contentContainerStart(); print getMLText('document_content_missing'); $this->contentContainerEnd(); $this->htmlEndPage(); exit; } $status = $latestContent->getStatus(); $reviewStatus = $latestContent->getReviewStatus(); $approvalStatus = $latestContent->getApprovalStatus(); // verify if file exists $file_exists=file_exists($dms->contentDir . $latestContent->getPath()); $this->contentHeading(getMLText("current_version")); $this->contentContainerStart(); print ""; print "\n\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print ""; print ""; print ""; print "\n
".getMLText("version")."".getMLText("file")."".getMLText("comment")."".getMLText("status")."
".$latestContent->getVersion()."
    \n"; print "
  • ".$latestContent->getOriginalFileName() ."
  • \n"; if ($file_exists) print "
  • ". formatted_size(filesize($dms->contentDir . $latestContent->getPath())) ." ".htmlspecialchars($latestContent->getMimeType())."
  • "; else print "
  • ".getMLText("document_deleted")."
  • "; $updatingUser = $latestContent->getUser(); print "
  • ".getMLText("uploaded_by")." getEmail()."\">".htmlspecialchars($updatingUser->getFullName())."
  • "; print "
  • ".getLongReadableDate($latestContent->getDate())."
  • "; print "
\n"; print "
    \n"; $attributes = $latestContent->getAttributes(); if($attributes) { foreach($attributes as $attribute) { $attrdef = $attribute->getAttributeDefinition(); print "
  • ".htmlspecialchars($attrdef->getName()).": ".htmlspecialchars($attribute->getValue())."
  • \n"; } } print "
\n"; print "
".htmlspecialchars($latestContent->getComment())."".getOverallStatusText($status["status"]); if ( $status["status"]==S_DRAFT_REV || $status["status"]==S_DRAFT_APP || $status["status"]==S_EXPIRED ){ print "
hasExpired()?" class=\"warning\" ":"").">".(!$document->getExpires() ? getMLText("does_not_expire") : getMLText("expires").": ".getReadableDate($document->getExpires())).""; } print "
"; print ""; echo "
\n"; print "\n"; if (is_array($reviewStatus) && count($reviewStatus)>0) { print ""; print "\n"; print "\n"; print "\n"; print ""; print "\n"; print "\n"; print "\n"; foreach ($reviewStatus as $r) { $required = null; $is_reviewer = false; switch ($r["type"]) { case 0: // Reviewer is an individual. $required = $dms->getUser($r["required"]); if (!is_object($required)) { $reqName = getMLText("unknown_user")." '".$r["required"]."'"; } else { $reqName = htmlspecialchars($required->getFullName()); } if($r["required"] == $user->getId()) $is_reviewer = true; break; case 1: // Reviewer is a group. $required = $dms->getGroup($r["required"]); if (!is_object($required)) { $reqName = getMLText("unknown_group")." '".$r["required"]."'"; } else { $reqName = "".htmlspecialchars($required->getName()).""; if($required->isMember($user) && ($user->getId() != $owner->getId())) $is_reviewer = true; } break; } print "\n"; print "\n"; print ""; print "\n"; print "\n"; print "\n"; print "\n\n"; } } if (is_array($approvalStatus) && count($approvalStatus)>0) { print ""; print "\n"; print "\n"; print "\n"; print ""; print "\n"; print "\n"; print "\n"; foreach ($approvalStatus as $a) { $required = null; $is_approver = false; switch ($a["type"]) { case 0: // Approver is an individual. $required = $dms->getUser($a["required"]); if (!is_object($required)) { $reqName = getMLText("unknown_user")." '".$a["required"]."'"; } else { $reqName = htmlspecialchars($required->getFullName()); } if($a["required"] == $user->getId()) $is_approver = true; break; case 1: // Approver is a group. $required = $dms->getGroup($a["required"]); if (!is_object($required)) { $reqName = getMLText("unknown_group")." '".$a["required"]."'"; } else { $reqName = "".htmlspecialchars($required->getName()).""; } if($required->isMember($user) && ($user->getId() != $owner->getId())) $is_approver = true; break; } print "\n"; print "\n"; print ""; print "\n"; print "\n"; print "\n"; print "\n\n"; } } print "
\n"; $this->contentSubHeading(getMLText("reviewers")); print "
".getMLText("name")."".getMLText("last_update")."".getMLText("comment")."".getMLText("status")."
".$reqName."
  • ".$r["date"]."
  • "; /* $updateUser is the user who has done the review */ $updateUser = $dms->getUser($r["userID"]); print "
  • ".(is_object($updateUser) ? htmlspecialchars($updateUser->getFullName()) : "unknown user id '".$r["userID"]."'")."
".htmlspecialchars($r["comment"])."".getReviewStatusText($r["status"])."
\n"; $this->contentSubHeading(getMLText("approvers")); print "
".getMLText("name")."".getMLText("last_update")."".getMLText("comment")."".getMLText("status")."
".$reqName."
  • ".$a["date"]."
  • "; /* $updateUser is the user who has done the approval */ $updateUser = $dms->getUser($a["userID"]); print "
  • ".(is_object($updateUser) ? htmlspecialchars($updateUser->getFullName()) : "unknown user id '".$a["userID"]."'")."
".htmlspecialchars($a["comment"])."".getApprovalStatusText($a["status"])."
\n"; $this->contentContainerEnd(); $this->contentHeading(getMLText("previous_versions")); $this->contentContainerStart(); if (count($versions)>1) { print ""; print "\n\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n\n\n"; for ($i = count($versions)-2; $i >= 0; $i--) { $version = $versions[$i]; $vstat = $version->getStatus(); // verify if file exists $file_exists=file_exists($dms->contentDir . $version->getPath()); print "\n"; print "\n"; print "\n"; print ""; print ""; print "\n\n"; } print "\n
".getMLText("version")."".getMLText("file")."".getMLText("comment")."".getMLText("status")."
".$version->getVersion()."
    \n"; print "
  • ".$version->getOriginalFileName()."
  • \n"; if ($file_exists) print "
  • ". formatted_size(filesize($dms->contentDir . $version->getPath())) ." ".htmlspecialchars($version->getMimeType())."
  • "; else print "
  • ".getMLText("document_deleted")."
  • "; $updatingUser = $version->getUser(); print "
  • ".getMLText("uploaded_by")." getEmail()."\">".htmlspecialchars($updatingUser->getFullName())."
  • "; print "
  • ".getLongReadableDate($version->getDate())."
  • "; print "
\n"; print "
    \n"; $attributes = $version->getAttributes(); if($attributes) { foreach($attributes as $attribute) { $attrdef = $attribute->getAttributeDefinition(); print "
  • ".htmlspecialchars($attrdef->getName()).": ".htmlspecialchars($attribute->getValue())."
  • \n"; } } print "
\n"; print "
".htmlspecialchars($version->getComment())."".getOverallStatusText($vstat["status"]).""; print ""; print "
\n"; } else printMLText("no_previous_versions"); $this->contentContainerEnd(); $this->contentHeading(getMLText("linked_files")); $this->contentContainerStart(); $files = $document->getDocumentFiles(); if (count($files) > 0) { print ""; print "\n\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n\n\n"; foreach($files as $file) { $file_exists=file_exists($dms->contentDir . $file->getPath()); $responsibleUser = $file->getUser(); print ""; print ""; print ""; print ""; print ""; } print "\n
".getMLText("file")."".getMLText("comment")."
    \n"; print "
  • ".$file->getOriginalFileName() ."
  • \n"; if ($file_exists) print "
  • ". filesize($dms->contentDir . $file->getPath()) ." bytes ".htmlspecialchars($file->getMimeType())."
  • "; else print "
  • ".htmlspecialchars($file->getMimeType())." - ".getMLText("document_deleted")."
  • "; print "
  • ".getMLText("uploaded_by")." getEmail()."\">".htmlspecialchars($responsibleUser->getFullName())."
  • "; print "
  • ".getLongReadableDate($file->getDate())."
  • "; print "
".htmlspecialchars($file->getComment()).""; if (($document->getAccessMode($user) == M_ALL)||($file->getUserID()==$user->getID())) print "
getID()."\" />
"; print "
\n"; } else printMLText("no_attached_files"); if ($document->getAccessMode($user) >= M_READWRITE){ print "
"; print "\n"; } $this->contentContainerEnd(); $this->contentHeading(getMLText("linked_documents")); $this->contentContainerStart(); $links = $document->getDocumentLinks(); $links = SeedDMS_Core_DMS::filterDocumentLinks($user, $links); if (count($links) > 0) { print ""; print "\n\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n\n\n"; foreach($links as $link) { $responsibleUser = $link->getUser(); $targetDoc = $link->getTarget(); print ""; print ""; print ""; print ""; print ""; print ""; } print "\n
".getMLText("comment")."".getMLText("document_link_by")."
getID()."\" class=\"linklist\">".htmlspecialchars($targetDoc->getName())."".htmlspecialchars($targetDoc->getComment())."".htmlspecialchars($responsibleUser->getFullName()); if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL )) print "
".getMLText("document_link_public").":".(($link->isPublic()) ? getMLText("yes") : getMLText("no")); print "
"; if (($user->getID() == $responsibleUser->getID()) || ($document->getAccessMode($user) == M_ALL )) print "
".createHiddenFieldWithKey('removedocumentlink')."getID()."\" />
"; print "
\n"; } else printMLText("no_linked_files"); if (!$user->isGuest()){ ?>
getAccessMode($user) >= M_READWRITE) { print ""; print ""; } ?>
: printDocumentChooser("form1");?>
".getMLText("document_link_public")."
    "; print "
  • " . getMLText("yes")."
  • "; print "
  • " . getMLText("no")."
  • "; print "
">
contentContainerEnd(); $this->contentEnd(); $this->htmlEndPage(); } /* }}} */ } ?>