Skip to content

fix(import): pass escape arg to fputcsv in CSV example generation#1834

Open
AllWorkNoPlay-95 wants to merge 1 commit into
devcode-it:masterfrom
AllWorkNoPlay-95:fix/fputcsv-escape-csv-example
Open

fix(import): pass escape arg to fputcsv in CSV example generation#1834
AllWorkNoPlay-95 wants to merge 1 commit into
devcode-it:masterfrom
AllWorkNoPlay-95:fix/fputcsv-escape-csv-example

Conversation

@AllWorkNoPlay-95

Copy link
Copy Markdown
Contributor

Descrizione

Il pulsante "Scarica esempio CSV" nel modulo Importazioni restituisce una pagina 404 / Not Found anziché scaricare il file di esempio.

Causa: su PHP 8.4+ la chiamata fputcsv() senza il parametro $escape emette un E_DEPRECATED ("the $escape parameter must be provided as its default value will change"). Poiché core.php registra Whoops come gestore degli errori, la deprecazione viene promossa a eccezione e interrompe CSVImporter::createExample(). Il modulo import cattura l'eccezione e restituisce un JSON di errore che il frontend (window.location = data) tenta di aprire come URL, generando il 404.

Fix: passare esplicitamente escape: '\\' a fputcsv() in createExample(), mantenendo il comportamento storico (PHP ≤ 8.3) e silenziando la deprecazione.

Nessuna dipendenza aggiuntiva.

Risolve: #(nessuna issue collegata)

Tipologia

  • Bug fix (cambiamenti minori che risolvono una issue)

Checklist

  • Il codice segue le linee guida del progetto
  • Ho commentato il codice, in particolare nelle parti più complesse
  • Ho aggiornato di conseguenza la documentazione (se presente)
  • Il codice non genera warnings

PHP 8.4+ deprecates fputcsv() without an explicit $escape parameter. Whoops promotes the deprecation to a thrown exception, aborting createExample(); the import module then returns a JSON error that the frontend navigates to, yielding a 404 on the "Scarica esempio CSV" button.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant