Merge branch 'develop' into wip/laravel-6
This commit is contained in:
commit
ff02e59740
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,11 +20,19 @@ class TranscodeFilter extends php_user_filter
|
|||
public function filter($in, $out, &$consumed, $closing)
|
||||
{
|
||||
while ($resource = stream_bucket_make_writeable($in)) {
|
||||
$resource->data = @mb_convert_encoding(
|
||||
$resource->data,
|
||||
$this->encodingTo,
|
||||
$this->encodingFrom
|
||||
);
|
||||
if (in_array($this->encodingFrom, mb_list_encodings())) {
|
||||
$resource->data = @mb_convert_encoding(
|
||||
$resource->data,
|
||||
$this->encodingTo,
|
||||
$this->encodingFrom
|
||||
);
|
||||
} else {
|
||||
$resource->data = @iconv(
|
||||
$this->encodingFrom,
|
||||
$this->encodingTo,
|
||||
$resource->data
|
||||
);
|
||||
}
|
||||
|
||||
$consumed += $resource->datalen;
|
||||
|
||||
|
|
|
|||
|
|
@ -550,6 +550,7 @@ return [
|
|||
'iso_8859_13' => 'ISO-8859-13 (Latin-7, Baltic Rim)',
|
||||
'iso_8859_14' => 'ISO-8859-14 (Latin-8, Celtic)',
|
||||
'iso_8859_15' => 'ISO-8859-15 (Latin-9, Western European revision with euro sign)',
|
||||
'windows_1250' => 'Windows-1250 (CP1250, Central and Eastern European)',
|
||||
'windows_1251' => 'Windows-1251 (CP1251)',
|
||||
'windows_1252' => 'Windows-1252 (CP1252)',
|
||||
],
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -231,6 +231,7 @@ abstract class ImportModel extends Model
|
|||
'iso-8859-13',
|
||||
'iso-8859-14',
|
||||
'iso-8859-15',
|
||||
'Windows-1250',
|
||||
'Windows-1251',
|
||||
'Windows-1252'
|
||||
];
|
||||
|
|
|
|||
Loading…
Reference in New Issue