From 5a2bca2113255afccab306786c4e7c2353cd4de0 Mon Sep 17 00:00:00 2001
From: Jaap Jansma <jaap.jansma@civicoop.org>
Date: Mon, 8 Apr 2019 12:02:21 +0200
Subject: [PATCH] added mimetype

---
 CRM/DataprocessorOutputExport/CSV.php               | 9 +++++++++
 CRM/DataprocessorOutputExport/Page/Download.php     | 2 +-
 Civi/DataProcessor/Output/ExportOutputInterface.php | 7 +++++++
 3 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/CRM/DataprocessorOutputExport/CSV.php b/CRM/DataprocessorOutputExport/CSV.php
index 0f80a188..e6c02662 100644
--- a/CRM/DataprocessorOutputExport/CSV.php
+++ b/CRM/DataprocessorOutputExport/CSV.php
@@ -24,6 +24,15 @@ class CRM_DataprocessorOutputExport_CSV implements ExportOutputInterface {
     return false;
   }
 
+  /**
+   * Returns the mime type of the export file.
+   *
+   * @return string
+   */
+  public function mimeType() {
+    return 'text/csv';
+  }
+
   /**
    * Returns the url for the page/form this output will show to the user
    *
diff --git a/CRM/DataprocessorOutputExport/Page/Download.php b/CRM/DataprocessorOutputExport/Page/Download.php
index f8948138..e08f91bb 100644
--- a/CRM/DataprocessorOutputExport/Page/Download.php
+++ b/CRM/DataprocessorOutputExport/Page/Download.php
@@ -42,7 +42,7 @@ class CRM_DataprocessorOutputExport_Page_Download extends CRM_Core_Page {
 
 
     $path = CRM_Core_Config::singleton()->templateCompileDir . $directory. $fileName;
-    $mimeType = CRM_Utils_Request::retrieveValue('mime-type', 'String', '', FALSE);
+    $mimeType = $outputClass->mimeType();
 
     if (!$path) {
       CRM_Core_Error::statusBounce('Could not retrieve the file');
diff --git a/Civi/DataProcessor/Output/ExportOutputInterface.php b/Civi/DataProcessor/Output/ExportOutputInterface.php
index 17f3dbfd..6f7dac9e 100644
--- a/Civi/DataProcessor/Output/ExportOutputInterface.php
+++ b/Civi/DataProcessor/Output/ExportOutputInterface.php
@@ -26,6 +26,13 @@ interface ExportOutputInterface extends OutputInterface {
    */
   public function downloadExport(\Civi\DataProcessor\ProcessorType\AbstractProcessorType $dataProcessor, $dataProcessorBAO, $outputBAO, $formValues);
 
+  /**
+   * Returns the mime type of the export file.
+   *
+   * @return string
+   */
+  public function mimeType();
+
   /**
    * Returns the url for the page/form this output will show to the user
    *
-- 
GitLab