Force download for dwg and dwf files see BT#6536

1.9.x
Julio Montoya 13 years ago
parent 2dbfbe9d3a
commit 4e0125626c
  1. 13
      main/inc/lib/document.lib.php

@ -53,7 +53,8 @@ class DocumentManager {
* @author Bert Vanderkimpen
*
*/
public static function file_get_mime_type($filename) {
public static function file_get_mime_type($filename)
{
// All MIME types in an array (from 1.6, this is the authorative source)
// Please, keep this alphabetical if you add something to this list!
$mime_types = array(
@ -87,6 +88,7 @@ class DocumentManager {
'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
'dvi' => 'application/x-dvi',
'dwg' => 'application/vnd.dwg',
'dwf' => 'application/vnd.dwf',
'dxf' => 'application/vnd.dxf',
'dxr' => 'application/x-director',
'eps' => 'application/postscript',
@ -302,10 +304,12 @@ class DocumentManager {
* @param string $name
* @return false if file doesn't exist, true if stream succeeded
*/
public static function file_send_for_download($full_file_name, $forced = false, $name = '') {
public static function file_send_for_download($full_file_name, $forced = false, $name = '')
{
if (!is_file($full_file_name)) {
return false;
}
$filename = ($name == '') ? basename($full_file_name) : replace_dangerous_char($name);
$len = filesize($full_file_name);
@ -335,6 +339,7 @@ class DocumentManager {
//no forced download, just let the browser decide what to do according to the mimetype
$content_type = self::file_get_mime_type($filename);
header('Expires: Wed, 01 Jan 1990 00:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
// Commented to avoid double caching declaration when playing with IE and HTTPS
@ -353,6 +358,10 @@ class DocumentManager {
$content_type .= '; charset=' . $encoding;
}
break;
case 'application/vnd.dwg':
case 'application/vnd.dwf':
header('Content-type: application/octet-stream');
break;
}
header('Content-type: ' . $content_type);
header('Content-Length: ' . $len);

Loading…
Cancel
Save