From 3159f5dc00edddb6a2d175446ccb2d6bdf27603b Mon Sep 17 00:00:00 2001 From: mickadoo Date: Mon, 21 Aug 2017 12:41:24 +0100 Subject: [PATCH] CRM-21086: Allow switching between "inline" and "download" content disposition using a query parameter --- CRM/Core/Page/File.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CRM/Core/Page/File.php b/CRM/Core/Page/File.php index a04428b603..af92378eb5 100644 --- a/CRM/Core/Page/File.php +++ b/CRM/Core/Page/File.php @@ -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 ); } } -- 2.25.1