Skip to content

Commit 1c7c48b

Browse files
Merge pull request #19063 from kamil-tekiela/Refactor-import-11
Replace remaining $_POST in ImportCsv
2 parents ce3a9cb + 7d5a811 commit 1c7c48b

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

src/Plugins/Import/ImportCsv.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ class ImportCsv extends AbstractImportCsv
5454
*/
5555
private bool $analyze = false;
5656

57+
private bool $replace = false;
58+
private bool $ignore = false;
5759
private string $terminated = '';
5860
private string $enclosed = '';
5961
private string $escaped = '';
@@ -163,6 +165,8 @@ protected function setProperties(): ImportPluginProperties
163165

164166
public function setImportOptions(ServerRequest $request): void
165167
{
168+
$this->replace = $request->getParsedBodyParam('csv_replace') !== null;
169+
$this->ignore = $request->getParsedBodyParam('csv_ignore') !== null;
166170
$this->terminated = (string) $request->getParsedBodyParam('csv_terminated');
167171
$this->enclosed = (string) $request->getParsedBodyParam('csv_enclosed');
168172
$this->escaped = (string) $request->getParsedBodyParam('csv_escaped');
@@ -183,9 +187,6 @@ public function doImport(File|null $importHandle = null): array
183187
$GLOBALS['message'] ??= null;
184188
$GLOBALS['errorUrl'] ??= null;
185189

186-
// $csv_replace and $csv_ignore should have been here,
187-
// but we use directly from $_POST
188-
189190
$replacements = ['\\n' => "\n", '\\t' => "\t", '\\r' => "\r"];
190191
$this->terminated = strtr($this->terminated, $replacements);
191192
$this->enclosed = strtr($this->enclosed, $replacements);
@@ -523,7 +524,7 @@ public function doImport(File|null $importHandle = null): array
523524
}
524525

525526
$sql .= ')';
526-
if (isset($_POST['csv_replace'])) {
527+
if ($this->replace) {
527528
$sql .= ' ON DUPLICATE KEY UPDATE ';
528529
foreach ($fields as $field) {
529530
$fieldName = Util::backquote($field);
@@ -738,7 +739,7 @@ private function getSqlTemplateAndRequiredFields(
738739
$fields = [];
739740
if (! $this->analyze && $db !== null && $table !== null) {
740741
$sqlTemplate = 'INSERT';
741-
if (isset($_POST['csv_ignore'])) {
742+
if ($this->ignore) {
742743
$sqlTemplate .= ' IGNORE';
743744
}
744745

0 commit comments

Comments
 (0)