From 802d8c8e09a2b342649393edb6d3ceb958851484 Mon Sep 17 00:00:00 2001 From: Luke Towers Date: Tue, 31 Mar 2020 09:53:35 -0600 Subject: [PATCH] Temporary workaround until the L6 upgrade can be merged in to use league/csv >= 9.1 --- modules/backend/behaviors/ImportExportController.php | 8 ++++++++ modules/backend/models/ExportModel.php | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/modules/backend/behaviors/ImportExportController.php b/modules/backend/behaviors/ImportExportController.php index 950234362..c146050b6 100644 --- a/modules/backend/behaviors/ImportExportController.php +++ b/modules/backend/behaviors/ImportExportController.php @@ -11,6 +11,7 @@ use Backend\Behaviors\ImportExportController\TranscodeFilter; use Illuminate\Database\Eloquent\MassAssignmentException; use League\Csv\Reader as CsvReader; use League\Csv\Writer as CsvWriter; +use October\Rain\Parse\League\EscapeFormula as CsvEscapeFormula; use ApplicationException; use SplTempFileObject; use Exception; @@ -624,6 +625,9 @@ class ImportExportController extends ControllerBehavior $csv->setEnclosure($options['enclosure']); $csv->setEscape($options['escape']); + // Temporary until upgrading to league/csv >= 9.1.0 (will be $csv->addFormatter($formatter)) + $formatter = new CsvEscapeFormula(); + /* * Add headers */ @@ -657,6 +661,10 @@ class ImportExportController extends ControllerBehavior } $record[] = $value; } + + // Temporary until upgrading to league/csv >= 9.1.0 + $record = $formatter($record); + $csv->insertOne($record); } diff --git a/modules/backend/models/ExportModel.php b/modules/backend/models/ExportModel.php index e0ec00e3c..1a03a813b 100644 --- a/modules/backend/models/ExportModel.php +++ b/modules/backend/models/ExportModel.php @@ -5,6 +5,7 @@ use Lang; use Model; use Response; use League\Csv\Writer as CsvWriter; +use October\Rain\Parse\League\EscapeFormula as CsvEscapeFormula; use ApplicationException; use SplTempFileObject; @@ -111,6 +112,9 @@ abstract class ExportModel extends Model $csv->setEscape($options['escape']); } + // Temporary until upgrading to league/csv >= 9.1.0 (will be $csv->addFormatter($formatter)) + $formatter = new CsvEscapeFormula(); + /* * Add headers */ @@ -124,6 +128,10 @@ abstract class ExportModel extends Model */ foreach ($results as $result) { $data = $this->matchDataToColumns($result, $columns); + + // Temporary until upgrading to league/csv >= 9.1.0 + $data = $formatter($data); + $csv->insertOne($data); }