read settings propperly, clear output buffer, always issue content type

This commit is contained in:
Uwe Steinmann 2014-01-10 07:51:50 +01:00
parent d1c11c04aa
commit b6e5acca3c

View File

@ -24,6 +24,7 @@ class SeedDMS_Controller_ViewOnline extends SeedDMS_Controller_Common {
public function run() {
$dms = $this->params['dms'];
$settings = $this->params['settings'];
$type = $this->params['type'];
$content = $this->params['content'];
$document = $content->getDocument();
@ -31,15 +32,16 @@ class SeedDMS_Controller_ViewOnline extends SeedDMS_Controller_Common {
switch($type) {
case "version":
if(!$this->callHook('version')) {
if (isset($settings->_viewOnlineFileTypes) && is_array($settings->_viewOnlineFileTypes) && in_array(strtolower($content->getFileType()), $settings->_viewOnlineFileTypes)) {
header("Content-Type: " . $content->getMimeType());
header("Content-Type: " . $content->getMimeType());
if (!isset($settings->_viewOnlineFileTypes) || !is_array($settings->_viewOnlineFileTypes) || !in_array(strtolower($content->getFileType()), $settings->_viewOnlineFileTypes)) {
header("Content-Disposition: filename=\"" . $document->getName().$content->getFileType()) . "\"";
}
header("Content-Disposition: filename=\"" . $document->getName().$content->getFileType()) . "\"";
header("Content-Length: " . filesize($dms->contentDir . $content->getPath()));
header("Expires: 0");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
ob_clean();
readfile($dms->contentDir . $content->getPath());
}
break;