CRM-21086: Allow switching between "inline" and "download" content disposition using...
authormickadoo <michaeldevery@gmail.com>
Mon, 21 Aug 2017 11:41:24 +0000 (12:41 +0100)
committermickadoo <michaeldevery@gmail.com>
Mon, 21 Aug 2017 11:41:24 +0000 (12:41 +0100)
CRM/Core/Page/File.php

index a04428b603532cccd2e698c1fffb671ba39da690..af92378eb5131ae1170705dc13ba8d0e5a6bd91c 100644 (file)
@@ -42,6 +42,8 @@ class CRM_Core_Page_File extends CRM_Core_Page {
     $path = CRM_Core_Config::singleton()->customFileUploadDir . $fileName;
     $mimeType = CRM_Utils_Request::retrieve('mime-type', 'String', $this);
     $action = CRM_Utils_Request::retrieve('action', 'String', $this);
+    $download = CRM_Utils_Request::retrieve('download', 'Integer', $this, FALSE, 1);
+    $disposition = $download === 0 ? 'inline' : 'download';
 
     // if we are not providing essential parameter needed for file preview then
     if (empty($fileName) && empty($mimeType)) {
@@ -76,7 +78,10 @@ class CRM_Core_Page_File extends CRM_Core_Page {
       CRM_Utils_System::download(
         CRM_Utils_File::cleanFileName(basename($path)),
         $mimeType,
-        $buffer
+        $buffer,
+        NULL,
+        TRUE,
+        $disposition
       );
     }
   }