From 31059fddd75ccf4ad9bf5fa9b5483000ef69ad4a Mon Sep 17 00:00:00 2001 From: Antoine M Date: Wed, 4 Dec 2024 15:46:31 +0100 Subject: [PATCH] handling personn factories --- includes/factories.php | 179 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 includes/factories.php diff --git a/includes/factories.php b/includes/factories.php new file mode 100644 index 0000000..c0994b4 --- /dev/null +++ b/includes/factories.php @@ -0,0 +1,179 @@ + $postId) { + $persons = get_field('company_members', $postId); + if (!$persons) continue; + + if ($postId === '119' || $postId === 8203) { + $field_key = 'field_670d268f2b324'; + update_field($field_key, [], $postId); + } + } +} + +function build_personn_fr($row) +{ + $personn_data_fr = array( + 'acf_fc_layout' => 'membre', + 'genre' => $row['Sexe'] ?? "", + 'first_name' => $row['first_name'] ?? "", + 'last_name' => $row['last_name'] ?? "", + 'description' => $row['formation_fr'] ?? "", + 'member_gsm_number' => $row['gsm'] ?? "", + 'old_website_person_id' => $row['person_id'] ?? "", + ); + return $personn_data_fr; +} +function build_personn_nl($row) +{ + $personn_data_nl = array( + 'acf_fc_layout' => 'membre', + 'genre' => $row['Sexe'] ?? "", + 'first_name' => $row['first_name'] ?? "", + 'last_name' => $row['last_name'] ?? "", + 'description' => $row['formation_nl'] ?? "", + 'member_gsm_number' => $row['gsm'] ?? "", + 'old_website_person_id' => $row['person_id'] ?? "", + ); + return $personn_data_nl; +} + +function populate_personns() +{ + // Chemin vers le fichier CSV + $csv_file = '/Users/martoni_sato/Local Sites/homegrade-multi/app/public/wp-content/themes/Metiers_du_patrimoine/datas/20241114_Consolidations_cleaned_persons.csv'; + + if (($handle = fopen($csv_file, 'r')) !== false) { + // Lire l'en-tête du CSV + $headers = fgetcsv($handle, 0, ','); + + // Parcourir chaque ligne du CSV + while (($data = fgetcsv($handle, 0, ',')) !== false) { + $row = array_combine($headers, $data); + + + if ($row['company_id (NEW)'] === '119') { + + $post_fr_ID = $row['company_id (NEW)'] ?? null; + if (!$post_fr_ID) continue; + $post_nl_ID = apply_filters('wpml_object_id', $post_fr_ID, 'artisans', FALSE, 'nl'); + + + write_log($post_fr_ID); + write_log($post_nl_ID); + // Récupérer les membres existants + $existing_members_fr = is_array(get_field('company_members', $post_fr_ID)) ? get_field('company_members', $post_fr_ID) : []; + $existing_members_nl = is_array(get_field('company_members', $post_nl_ID)) ? get_field('company_members', $post_nl_ID) : []; + // write_log($existing_members_fr); + // write_log($existing_members_nl); + + // Build des données du contenu flexible + $user_data_fr = build_personn_fr($row); + $user_data_nl = build_personn_nl($row); + + // write_log($user_data_fr); + // write_log($user_data_nl); + + $updatedMembersArrayFr = $existing_members_fr; + $updatedMembersArrayNl = $existing_members_nl; + + array_push($updatedMembersArrayFr, $user_data_fr); + array_push($updatedMembersArrayNl, $user_data_nl); + + + // write_log($updatedMembersArrayFr); + // write_log($updatedMembersArrayNl); + + $field_key = 'field_670d268f2b324'; + update_field($field_key, $updatedMembersArrayFr, $post_fr_ID); + update_field($field_key, $updatedMembersArrayNl, $post_nl_ID); + } + } + + // Fermer le fichier CSV + fclose($handle); + } +} + + +function get_multiple_members_from_artisans() +{ + $args = array( + "status" => "publish", + "post_type" => "artisans", + "posts_per_page" => -1, + // "tax_query" => $taxQuery, + // "meta_query" => $metaQuery, + ); + $newsPostsDatas = new WP_Query($args); + $filteredPosts = []; + + foreach ($newsPostsDatas->posts as $key => $post) { + $persons = get_field('company_members', $post->ID); + if (!$persons) continue; + write_log(count($persons)); + if (count($persons) > 1) { + write_log($post->ID); + } + } + + + return $filteredPosts; + + // write_log($newsPostsDatas->posts); + +} + +function show_acf_repeator() +{ + $repeater = get_field('company_members', 123); + write_log($repeater); +}