$dms, 'user'=>$user)); $documentid = $_GET["documentid"]; if (!isset($documentid) || !is_numeric($documentid) || intval($documentid)<1) { UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); } $document = $dms->getDocument($documentid); if (!is_object($document)) { UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); } if ($document->getAccessMode($user) < M_READ) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied")); } if(isset($_GET["version"])) { /* {{{ */ $version = $_GET["version"]; if (!is_numeric($version)) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version")); } $controller->setParam('document', $document); $controller->setParam('version', intval($version)); $controller->setParam('type', 'version'); if(!$controller->run()) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version")); } } /* }}} */ elseif(isset($_GET["file"])) { /* {{{ */ $fileid = $_GET["file"]; if (!is_numeric($fileid) || intval($fileid)<1) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_version")); } $file = $document->getDocumentFile($fileid); if (!is_object($file)) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_file_id")); } if (isset($settings->_viewOnlineFileTypes) && is_array($settings->_viewOnlineFileTypes) && in_array(strtolower($file->getFileType()), $settings->_viewOnlineFileTypes)) { header("Content-Type: " . $file->getMimeType()); } header("Content-Disposition: filename=\"" . $file->getOriginalFileName() . "\""); header("Content-Length: " . filesize($dms->contentDir . $file->getPath() )); header("Expires: 0"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); ob_clean(); readfile($dms->contentDir . $file->getPath()); } /* }}} */ add_log_line(); exit; ?>