diff options
author | David Rothstein <drothstein@gmail.com> | 2013-04-01 17:08:55 -0400 |
---|---|---|
committer | David Rothstein <drothstein@gmail.com> | 2013-04-01 17:08:55 -0400 |
commit | b927d876e96d30d858f28887a558261e13d2f822 (patch) | |
tree | 34991e54e05f103fe2f7de23fa3767d654712edf | |
parent | 867ce3aa4d2c7b8521dd74298454756b958a78ba (diff) | |
download | brdo-b927d876e96d30d858f28887a558261e13d2f822.tar.gz brdo-b927d876e96d30d858f28887a558261e13d2f822.tar.bz2 |
Issue #1229014 by bfroehle, jackbravo, illmasterc: Fixed Content-Disposition header makes private files show open/save prompts, but public files show inline.
-rw-r--r-- | CHANGELOG.txt | 3 | ||||
-rw-r--r-- | includes/file.inc | 10 | ||||
-rw-r--r-- | modules/image/image.test | 1 |
3 files changed, 3 insertions, 11 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt index d74221f7b..fc5772139 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,6 +1,9 @@ Drupal 7.22, xxxx-xx-xx (development version) ----------------------- +- Removed an unnecessary "Content-Disposition" header from private file + downloads; it prevented many private files from being viewed inline in a web + browser. - Changed various field API functions to allow them to optionally act on a single field within an entity (API addition: http://drupal.org/node/1825844). - Fixed a bug which prevented Drupal's file transfer functionality from working diff --git a/includes/file.inc b/includes/file.inc index 09a442435..8389ab8a2 100644 --- a/includes/file.inc +++ b/includes/file.inc @@ -2481,20 +2481,10 @@ function file_directory_temp() { function file_get_content_headers($file) { $name = mime_header_encode($file->filename); $type = mime_header_encode($file->filemime); - // Serve images, text, and flash content for display rather than download. - $inline_types = variable_get('file_inline_types', array('^text/', '^image/', 'flash$')); - $disposition = 'attachment'; - foreach ($inline_types as $inline_type) { - // Exclamation marks are used as delimiters to avoid escaping slashes. - if (preg_match('!' . $inline_type . '!', $file->filemime)) { - $disposition = 'inline'; - } - } return array( 'Content-Type' => $type, 'Content-Length' => $file->filesize, - 'Content-Disposition' => $disposition . '; filename="' . $name . '"', 'Cache-Control' => 'private', ); } diff --git a/modules/image/image.test b/modules/image/image.test index 917677046..8b79d851e 100644 --- a/modules/image/image.test +++ b/modules/image/image.test @@ -827,7 +827,6 @@ class ImageFieldDisplayTestCase extends ImageFieldTestCase { // Only verify HTTP headers when using private scheme and the headers are // sent by Drupal. $this->assertEqual($this->drupalGetHeader('Content-Type'), 'image/png', t('Content-Type header was sent.')); - $this->assertEqual($this->drupalGetHeader('Content-Disposition'), 'inline; filename="' . $test_image->filename . '"', t('Content-Disposition header was sent.')); $this->assertEqual($this->drupalGetHeader('Cache-Control'), 'private', t('Cache-Control header was sent.')); // Log out and try to access the file. |