@@ -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