getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
$documentid = $_GET["documentid"];
$document = $dms->getDocument($documentid);
if (!is_object($document)) {
	UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
$folder = $document->getFolder();
$docPathHTML = getFolderPathHTML($folder, true). " / ".$document->getName()."";
if ($document->getAccessMode($user) < M_READ) {
	UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
if (!isset($_GET["version"]) || !is_numeric($_GET["version"]) || intval($_GET["version"])<1) {
	UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version"));
}
$version = $_GET["version"];
$version = $document->getContentByVersion($version);
if (!is_object($version)) {
	UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version"));
}
// if version is last got out.ViewDocument
$latestContent = $document->getLatestContent();
if ($latestContent->getVersion()==$version->getVersion()) {
	header("Location:../out/out.ViewDocument.php?documentid=".$documentid);
}
$status = $version->getStatus();
$reviewStatus = $version->getReviewStatus();
$approvalStatus = $version->getApprovalStatus();
UI::htmlStartPage(getMLText("document_title", array("documentname" => $document->getName())));
UI::globalNavigation($folder);
UI::pageNavigation($docPathHTML, "view_document");
UI::contentHeading(getMLText("document_infos"));
UI::contentContainerStart();
?>
| : | getOwner();
print "getEmail()."\">".$owner->getFullName()."";
?> | 
| : | getComment();?> | 
| : | getDate()); ?> | 
| : | getKeywords();?> | 
isLocked()) {
	$lockingUser = $document->getLockingUser();
?>
	| : | $lockingUser->getEmail(), "username" => $lockingUser->getFullName()));?> | 
_contentDir . $version->getPath());
UI::contentHeading(getMLText("details_version", array ("version" => $version->getVersion())));
UI::contentContainerStart();
print "";
print "\n\n";
print "| \n";
print " | ".getMLText("version")."\n";
print " | ".getMLText("file")."\n";
print " | ".getMLText("comment")."\n";
print " | ".getMLText("status")."\n";
print " | \n";
print " | 
\n\n\n";
print "\n";
print "| \n";
print " | ".$version->getVersion()."\n";
print " | \n";
print "\n";
print "".$version->getOriginalFileName()."\n";
if ($file_exists) print "". formatted_size(filesize($settings->_contentDir . $version->getPath())) ." ".$version->getMimeType()."";
else print "".getMLText("document_deleted")."";
$updatingUser = $version->getUser();
print "".getMLText("uploaded_by")." getEmail()."\">".$updatingUser->getFullName()."";
print "".getLongReadableDate($version->getDate())."";
print " | ".$version->getComment()."";
print " | ".getOverallStatusText($status["status"])."";
print " | ";
if (($document->getAccessMode($user) >= M_READWRITE)) {
	print "";
}
else {
	print " ";
}
echo "";
print " | 
\n
\n";
print "\n";
if (is_array($reviewStatus) && count($reviewStatus)>0) {
	print "| \n";
	UI::contentSubHeading(getMLText("reviewers"));
	print " | 
\n";
	
	print "\n";
	print "| ".getMLText("name")."\n";
	print " | ".getMLText("last_update")."\n";
	print " | ".getMLText("comment")."";
	print " | ".getMLText("status")."\n";
	print " | 
\n";
	foreach ($reviewStatus as $r) {
		$required = null;
		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 = $required->getFullName();
				}
				break;
			case 1: // Reviewer is a group.
				$required = $dms->getGroup($r["required"]);
				if (!is_object($required)) {
					$reqName = getMLText("unknown_group")." '".$r["required"]."'";
				}
				else {
					$reqName = $required->getName();
				}
				break;
		}
		print "\n";
		print "| ".$reqName."\n";
		print " | ";
		print "".$r["date"]."";
		$updateUser = $dms->getUser($r["userID"]);
		print "".(is_object($updateUser) ? $updateUser->getFullName() : "unknown user id '".$r["userID"]."'")."
 | ".$r["comment"]."\n";
		print " | ".getReviewStatusText($r["status"])."\n";
		print " | 
\n";
	}
}
if (is_array($approvalStatus) && count($approvalStatus)>0) {
	print "| \n";
	UI::contentSubHeading(getMLText("approvers"));
	print " | 
\n";
		
	print "\n";
	print "| ".getMLText("name")."\n";
	print " | ".getMLText("last_update")."\n";
	print " | ".getMLText("comment")."";
	print " | ".getMLText("status")."\n";
	print " | 
\n";
	foreach ($approvalStatus as $a) {
		$required = null;
		switch ($a["type"]) {
			case 0: // Approver is an individual.
				$required = $dms->getUser($a["required"]);
				if (!is_object($required)) {
					$reqName = getMLText("unknown_user")." '".$r["required"]."'";
				}
				else {
					$reqName = $required->getFullName();
				}
				break;
			case 1: // Approver is a group.
				$required = $dms->getGroup($a["required"]);
				if (!is_object($required)) {
					$reqName = getMLText("unknown_group")." '".$r["required"]."'";
				}
				else {
					$reqName = $required->getName();
				}
				break;
		}
		print "\n";
		print "| ".$reqName."\n";
		print " | ";
		print "".$a["date"]."";
		$updateUser = $dms->getUser($a["userID"]);
		print "".(is_object($updateUser) ? $updateUser->getFullName() : "unknown user id '".$a["userID"]."'")."
 | ".$a["comment"]."\n";
		print " | ".getApprovalStatusText($a["status"])."\n";
		print " | 
\n";
	}
}
print "
\n";
UI::contentContainerEnd();
UI::htmlEndPage();
?>