"Homegrade Stats", "label" => "Homegrade Datas", "callback" => "homegrade_stats_option_page", "permission" => "edit_posts"); return $menu_items; } function homegrade_stats_option_page() { ?>

Exports de données Homegrade

Formulaire de commande
des brochures papier

"active"); $sorting = array(); $paging = array( 'offset' => 0, 'page_size' => 9000, ); $entries = GFAPI::get_entries($form_id, $search_criteria, $sorting, $paging); if (is_wp_error($entries)) { wp_die('Erreur lors de la récupération des données du formulaire.'); } $output_formatted_entries = array(); foreach ($entries as $key => $entry) { // $clientFirstName = $entry['3']; // $clientLastName = $entry['2']; $companyType = $entry['7']; $zipCode = $entry['9.5']; $userLanguage = strtoupper($entry['27']) ?? null; $synthesePrimes = isset($entry['24']) ? unserialize($entry['24']) : []; $brochures = isset($entry['25']) ? unserialize($entry['25']) : []; $autrePublications = isset($entry['26']) ? unserialize($entry['26']) : []; $explodedEntryDocuments = array_merge($synthesePrimes, $brochures, $autrePublications); foreach ($explodedEntryDocuments as $key => $document) { $document_id_fr = $document['id_fr'] ?? null; $document_quantity_fr = $document['quantity_fr'] ?? null; $document_id_nl = $document['id_nl'] ?? null; $document_quantity_nl = $document['quantity_nl'] ?? null; $dateCreatedRaw = $entry['date_created'] ?? ''; $dateCreated = $dateCreatedRaw ? date('d / m / Y', strtotime($dateCreatedRaw)) : ''; if (!$document_quantity_fr && !$document_quantity_nl) { continue; } if ($document_quantity_nl) { $thematique = getPostMainThematique($document_id_nl)->name ?? ''; $document_formatted_order_nl = [ 'publication' => $document_id_nl ? get_the_title($document_id_nl) : $key, 'quantity' => $document_quantity_nl, 'document_language' => 'NL', 'thematique' => $thematique, 'brochureID' => $document_id_nl, 'company_type' => $companyType, 'zipCode' => $zipCode, 'userLanguage' => $userLanguage, 'order_date' => $dateCreated, ]; array_push($output_formatted_entries, $document_formatted_order_nl); } if ($document_quantity_fr) { $thematique = getPostMainThematique($document_id_fr)->name ?? ''; $document_formatted_order_fr = [ 'publication' => $document_id_fr ? get_the_title($document_id_fr) : $key, 'quantity' => $document_quantity_fr, 'document_language' => 'FR', 'thematique' => $thematique, 'brochureID' => $document_id_fr, 'company_type' => $companyType, 'zipCode' => $zipCode, 'userLanguage' => $userLanguage, 'order_date' => $dateCreated, ]; array_push($output_formatted_entries, $document_formatted_order_fr); } } } // Définir le nom du fichier CSV $filename = 'order_data_' . date('Ymd_His') . '.csv'; // Ouvrir un fichier CSV en mode écriture $file = fopen($filename, 'w'); if ($file === false) { wp_die('Erreur lors de la création du fichier CSV.'); } // Ajouter les en-têtes du CSV fputcsv($file, ['Publication', 'Quantité', 'Langue de la publication', 'Thématique', 'ID de la brochure', 'Type d\'organisme', 'Code Postal', 'Langue de l\'utilisateur', 'Date de la commande']); // Boucler sur chaque entrée formatée et l'écrire dans le CSV foreach ($output_formatted_entries as $entry) { fputcsv($file, $entry); } // Fermer le fichier fclose($file); // Télécharger le fichier CSV header('Content-Type: text/csv'); header('Content-Disposition: attachment;filename="' . $filename . '"'); readfile($filename); // Supprimer le fichier après téléchargement unlink($filename); exit(); }