diff --git a/controllers/class.Download.php b/controllers/class.Download.php new file mode 100644 index 000000000..36d7b8186 --- /dev/null +++ b/controllers/class.Download.php @@ -0,0 +1,45 @@ + + * @copyright Copyright (C) 2010-2013 Uwe Steinmann + * @version Release: @package_version@ + */ + +/** + * Class which does the busines logic for downloading a document + * + * @category DMS + * @package SeedDMS + * @author Uwe Steinmann + * @copyright Copyright (C) 2010-2013 Uwe Steinmann + * @version Release: @package_version@ + */ +class SeedDMS_Controller_Download extends SeedDMS_Controller_Common { + + public function run() { + $dms = $this->params['dms']; + $type = $this->params['type']; + $content = $this->params['content']; + + switch($type) { + case "version": + + if(!$this->callHook('version')) { + header("Content-Transfer-Encoding: binary"); + header("Content-Length: " . filesize($dms->contentDir . $content->getPath() )); + header("Content-Disposition: attachment; filename=\"" . $content->getOriginalFileName() . "\""); + header("Content-Type: " . $content->getMimeType()); + header("Cache-Control: must-revalidate"); + + readfile($dms->contentDir . $content->getPath()); + } + break; + } + } +}