Skip to content
Extraits de code Groupes Projets
Valider 307d80c0 rédigé par Maïeul's avatar Maïeul
Parcourir les fichiers

fix(128): Réparer le téléchargement des fichiers joints aux réponses en

lorsqu'on exporte le CSV/XLXS

fix #128
parent 7c397191
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -5,6 +5,7 @@
- #123 Faire fonctionner l'analyse des réponses pour une saisie `choix_grille` lorsque les clés sont numériques
- #127 Zipper correctement les fichiers d'un type non autorisé par SPIP
- #128 Refaire fonctionner le téléchargement des fichiers joints aux réponses lors de l'export CSV/XLSX des réponses.
## [5.2.2] - 2022-08-20
......
......@@ -104,7 +104,7 @@ function exporter_formulaires_reponses($id_formulaire, $delim = ',', $statut_rep
return false;
}
$fichier_csv = $exporter_csv('reponses-formulaire-' . $formulaire['identifiant'], $reponses_completes, $delim, null, false);
$fichier_csv = $exporter_csv('reponses-formulaire-' . $formulaire['identifiant'], $reponses_completes, ['delim'=>$delim, 'envoyer'=>false]);
// si pas de saisie fichiers, on envoie directement le csv
if (!count($saisies_fichiers)) {
......
......@@ -465,17 +465,24 @@ function formidable_effacer_fichiers_email() {
* @return string|int chemin complet du zip ou 0 si erreur lors de la création
**/
function formidable_zipper_reponses_formulaire($id_formulaire, $chemin_du_zip, $fichier_csv, $saisies_fichiers) {
include_spip('inc/pclzip');
$zip = new PclZip("$chemin_du_zip");
include_spip('inc/archives');
supprimer_fichier($chemin_du_zip);// Si un précédent zip traine
$zip = new Spip\Archiver\SpipArchiver($chemin_du_zip);
$chemin_fichiers = _DIR_FICHIERS_FORMIDABLE . 'formulaire_' . $id_formulaire;
if (!$zip->create($saisies_fichiers, PCLZIP_OPT_REMOVE_PATH, $chemin_fichiers)) {
//Déplacer le CSV, car Archiviste ne peut emballer qu'une seule fois les fichiers, et ne prend qu'un chemin
$basename_csv = pathinfo($fichier_csv)['basename'];
$fichier_csv = deplacer_fichier_upload($fichier_csv, "$chemin_fichiers/$basename_csv", true);
if (!$zip->emballer(array_merge($saisies_fichiers,[$fichier_csv]), $chemin_fichiers)) {
spip_log(
"Impossible de créer le zip pour l'export des réponses du formulaire $id_formulaire",
'formidable'._LOG_ERREUR
);
return 0;
} else {
$zip->add($fichier_csv, PCLZIP_OPT_REMOVE_ALL_PATH);
supprimer_fichier($fichier_csv);//Nettoyage suite déplacement
return $chemin_du_zip;
}
}
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter