/* ====================== REPLIES + CONTENT (OPTIMISÉ) ====================== */ private function migrateReplies(){ global $wpdb; // đŸ”č dernier topic WP traitĂ© $last_topic_wp = (int) $this->getLast_Topic(); // ====================== // STEP 1 : batch topics WP // ====================== $topic_rows = $wpdb->get_results($wpdb->prepare(" SELECT p.ID AS wp_topic_id, pm.meta_value AS xoops_topic_id FROM {$wpdb->posts} p JOIN {$wpdb->postmeta} pm ON pm.post_id = p.ID AND pm.meta_key = 'bbex_topic_id' WHERE p.post_type = 'topic' AND p.ID > %d ORDER BY p.ID ASC LIMIT 2000 ", $last_topic_wp)); if(!$topic_rows){ $this->log('🏁 REPLIES DONE → plus aucun topic WP Ă  traiter'); update_option('bbex_replies_done', 1, false); return; } // ====================== // BUILD MAP // ====================== $topic_map = []; $xoops_topic_ids = []; foreach($topic_rows as $t){ $topic_map[(int)$t->xoops_topic_id] = (int)$t->wp_topic_id; $xoops_topic_ids[] = (int)$t->xoops_topic_id; } $ids_sql = implode(',', $xoops_topic_ids); $this->log("🔄 REPLIES BATCH START"); $this->log("WP topics batch: " . count($topic_rows)); $this->log("XOOPS topics batch: " . count($xoops_topic_ids)); $this->log("XOOPS range: " . (min($xoops_topic_ids) ?? 0) . " → " . (max($xoops_topic_ids) ?? 0)); // ====================== // STEP 2 : GET POSTS // ====================== $posts = $wpdb->get_results(" SELECT p.post_id, p.topic_id AS xoops_topic_id, p.uid, p.pid, p.post_time, pt.post_text FROM {$this->getTable('posts')} p JOIN {$this->getTable('posts_text')} pt ON pt.post_id = p.post_id WHERE p.topic_id IN ($ids_sql) ORDER BY p.post_id ASC "); if(!$posts){ $max_wp_topic = max(array_column($topic_rows, 'wp_topic_id')); $this->setLast_Topic($max_wp_topic); $this->log("⚠ Aucun post trouvĂ©"); $this->log("âžĄïž Skip batch → last_topic_wp=$max_wp_topic"); return; } // ====================== // STATS // ====================== $inserted = 0; $skipped = 0; $updated = 0; $total = count($posts); $i = 0; // ====================== // PROCESS // ====================== foreach($posts as $p){ $i++; // đŸ”č progression % if($i % 200 === 0 || $i === $total){ $pct = round(($i / $total) * 100, 2); $this->log("⏳ Progress replies: $i/$total ($pct%) | inserted=$inserted skipped=$skipped updated=$updated"); } // user check if(empty($this->user_map[$p->uid])){ $skipped++; continue; } $wp_tid = $topic_map[(int)$p->xoops_topic_id] ?? 0; if(!$wp_tid){ $skipped++; continue; } // ====================== // MAIN TOPIC POST → CONTENT // ====================== if($p->pid == 0){ $wpdb->query($wpdb->prepare(" UPDATE {$wpdb->posts} SET post_content = IF(post_content = '', %s, post_content) WHERE ID = %d ", $p->post_text, $wp_tid)); $updated++; continue; } // ====================== // ANTI DOUBLON (IMPORTANT FIX) // ====================== $exists = $wpdb->get_var($wpdb->prepare(" SELECT 1 FROM bbex_post_lookup WHERE xoops_post_id = %d AND type = 'reply' LIMIT 1 ", $p->post_id)); if($exists){ $skipped++; continue; } // ====================== // INSERT REPLY // ====================== $wpdb->insert($wpdb->posts, [ 'post_author' => $this->user_map[$p->uid], 'post_date' => date('Y-m-d H:i:s', $p->post_time), 'post_content' => $p->post_text, 'post_status' => 'publish', 'post_type' => 'reply', 'post_parent' => $wp_tid ]); $rid = (int) $wpdb->insert_id; if(!$rid){ $skipped++; continue; } $inserted++; // meta topic $wpdb->insert($wpdb->postmeta,[ 'post_id' => $rid, 'meta_key' => '_bbp_topic_id', 'meta_value' => $wp_tid ]); // forum $forum_id = $wpdb->get_var($wpdb->prepare(" SELECT post_parent FROM {$wpdb->posts} WHERE ID = %d ", $wp_tid)); if($forum_id){ $wpdb->insert($wpdb->postmeta,[ 'post_id' => $rid, 'meta_key' => '_bbp_forum_id', 'meta_value' => $forum_id ]); } // lookup $wpdb->query($wpdb->prepare(" INSERT INTO bbex_post_lookup (xoops_post_id, wp_post_id, type) VALUES (%d, %d, 'reply') ON DUPLICATE KEY UPDATE wp_post_id = wp_post_id ", $p->post_id, $rid)); } // ====================== // SAVE PROGRESSION // ====================== $max_wp_topic = max(array_column($topic_rows, 'wp_topic_id')); $this->setLast_Topic($max_wp_topic); // ====================== // FINAL LOG // ====================== $this->log("===================================="); $this->log("🏁 REPLIES BATCH FINISHED"); $this->log("📊 total=$total | inserted=$inserted | updated=$updated | skipped=$skipped"); $this->log("âžĄïž last_topic_wp=$max_wp_topic"); $this->log("===================================="); } add_action('init', function(){ if(!isset($_GET['bbex_batch_sans_mirror'])) return; if($_GET['bbex_batch_sans_mirror'] !== 'run') return; if(!isset($_GET['key']) || $_GET['key'] !== 'oasis-cron'){ die('clĂ© invalide'); } $migration = new BBExBatchMigration(); $migration->setSource('live'); $migration->run(); echo "Batch LIVE exĂ©cutĂ©"; exit; });private function migrateReplies(){ global $wpdb; // đŸ”č dernier topic WP traitĂ© pour les replies $last_topic_wp = (int) $this->getLast_Topic(); // STEP 1 : batch topics WP $topic_rows = $wpdb->get_results($wpdb->prepare(" SELECT p.ID AS wp_topic_id, pm.meta_value AS xoops_topic_id FROM {$wpdb->posts} p JOIN {$wpdb->postmeta} pm ON pm.post_id = p.ID AND pm.meta_key = 'bbex_topic_id' WHERE p.post_type = 'topic' AND p.ID > %d ORDER BY p.ID ASC LIMIT 2000 ", $last_topic_wp)); if(!$topic_rows){ $this->log('🏁 REPLIES DONE → plus aucun topic WP Ă  traiter'); update_option('bbex_replies_done', 1, false); return; } // BUILD MAP $topic_map = []; $xoops_topic_ids = []; foreach($topic_rows as $t){ $topic_map[(int)$t->xoops_topic_id] = (int)$t->wp_topic_id; $xoops_topic_ids[] = (int)$t->xoops_topic_id; } $ids_sql = implode(',', $xoops_topic_ids); $this->log("🔄 REPLIES BATCH START"); $this->log("WP topics batch: " . count($topic_rows)); $this->log("XOOPS topics batch: " . count($xoops_topic_ids)); $this->log("XOOPS range: " . (min($xoops_topic_ids) ?? 0) . " → " . (max($xoops_topic_ids) ?? 0)); // STEP 2 : GET POSTS (LIVE XOOPSEOL) $posts = $wpdb->get_results(" SELECT p.post_id, p.topic_id AS xoops_topic_id, p.uid, p.pid, p.post_time, pt.post_text FROM {$this->getTable('posts')} p JOIN {$this->getTable('posts_text')} pt ON pt.post_id = p.post_id WHERE p.topic_id IN ($ids_sql) ORDER BY p.post_id ASC "); if(!$posts){ $max_wp_topic = max(array_column($topic_rows, 'wp_topic_id')); $this->setLast_Topic($max_wp_topic); $this->log("⚠ Aucun post trouvĂ©"); $this->log("âžĄïž Skip batch → last_topic_wp=$max_wp_topic"); return; } $inserted = 0; $skipped = 0; $updated = 0; $total = count($posts); $i = 0; foreach($posts as $p){ $i++; if($i % 200 === 0 || $i === $total){ $pct = round(($i / $total) * 100, 2); $this->log("⏳ Progress replies: $i/$total ($pct%) | inserted=$inserted skipped=$skipped updated=$updated"); } // user check if(empty($this->user_map[$p->uid])){ $skipped++; continue; } $wp_tid = $topic_map[(int)$p->xoops_topic_id] ?? 0; if(!$wp_tid){ $skipped++; continue; } // MAIN TOPIC POST → CONTENT if($p->pid == 0){ $wpdb->query($wpdb->prepare(" UPDATE {$wpdb->posts} SET post_content = IF(post_content = '', %s, post_content) WHERE ID = %d ", $p->post_text, $wp_tid)); $updated++; continue; } // ANTI DOUBLON $exists = $wpdb->get_var($wpdb->prepare(" SELECT 1 FROM bbex_post_lookup WHERE xoops_post_id = %d AND type = 'reply' LIMIT 1 ", $p->post_id)); if($exists){ $skipped++; continue; } // INSERT REPLY $wpdb->insert($wpdb->posts, [ 'post_author' => $this->user_map[$p->uid], 'post_date' => date('Y-m-d H:i:s', $p->post_time), 'post_content' => $p->post_text, 'post_status' => 'publish', 'post_type' => 'reply', 'post_parent' => $wp_tid ]); $rid = (int) $wpdb->insert_id; if(!$rid){ $skipped++; continue; } $inserted++; // meta topic $wpdb->insert($wpdb->postmeta,[ 'post_id' => $rid, 'meta_key' => '_bbp_topic_id', 'meta_value' => $wp_tid ]); // forum $forum_id = $wpdb->get_var($wpdb->prepare(" SELECT post_parent FROM {$wpdb->posts} WHERE ID = %d ", $wp_tid)); if($forum_id){ $wpdb->insert($wpdb->postmeta,[ 'post_id' => $rid, 'meta_key' => '_bbp_forum_id', 'meta_value' => $forum_id ]); } // lookup $wpdb->query($wpdb->prepare(" INSERT INTO bbex_post_lookup (xoops_post_id, wp_post_id, type) VALUES (%d, %d, 'reply') ON DUPLICATE KEY UPDATE wp_post_id = wp_post_id ", $p->post_id, $rid)); } $max_wp_topic = max(array_column($topic_rows, 'wp_topic_id')); $this->setLast_Topic($max_wp_topic); $this->log("===================================="); $this->log("🏁 REPLIES BATCH FINISHED"); $this->log("📊 total=$total | inserted=$inserted | updated=$updated | skipped=$skipped"); $this->log("âžĄïž last_topic_wp=$max_wp_topic"); $this->log("===================================="); } if(isset($_GET['source'])){ $migration->setSource($_GET['source']); } TRESSE D ' AUTOMNE ...............................! - Oasis des Artistes. Le plus beau site de poĂ©sie

Oasis des Artistes. Le plus beau site de poésie

Oasis des artistes: PoĂ©sie en ligne, Concours de poĂšmes en ligne – membres !

TRESSE D ‘ AUTOMNE ………………………….!

  • Ce sujet contient 15 réponses, 15 participants et a Ă©tĂ© mis Ă  jour pour la derniĂšre fois par Avatar photoTradescantia, le 14-10-2022 15:10.
  • Créateur
    Sujet
  • #2696270
    Mascotte d'Oasis
    Avatar phototerry
    Membre Oasis
      • Sujet: 2010
      • RĂ©ponses: 13996


      L ‘ EtĂ© trop chaud

      A brulé les blés

      Oh Cigale repas dentelé

      DĂ©sormais ….Gaspacho *

      Petite maison de Terre

      Persiennes Closes

      LA vieille Dame repose

      Automne ….froisse l ‘ Air !

      Lézards jaunes et verts

      Sommeillant sur de grosses pierres

      Coiffées de lierre !

      Oh tresse d ‘ Automne

      Dépose de la couleur à la Poésie

      Pour un Peintre au coeur de Pierre !

      Terry

      *Gaspacho……Soupe froide

    Vous lisez 14 fils de discussion
    • Auteur
      Réponses
      • #3402989
        Administratrice
        Avatar photoSybilla
        Maßtre des clés
          • Sujet: 17798
          • RĂ©ponses: 198089

          Bonjour Terry,

          De subtiles métaphores en ta magnifique poésie aux tresses automnales !

          Belle journée chÚre amie poétesse!
          Toutes mes amitiés à vous deux
          Gros bisous
          Sybilla

          Le r?ve est le poumon de ma vie (Citation de Sybilla)
        • #3402992
          Plume de diamant
          ★★★★★★
          Avatar photocyrael
          Membre Oasis
            • Sujet: 14564
            • RĂ©ponses: 136022

            je suis ravie , quelle merveilleuse toile
            automnale rien ne manque

            c est mon coup de coeur du mardi

            bisous

            merci mon amie TERRY

            l'Amour rayonne quand l'Ame s'?l?ve, citation maryjo
          • #3402993
            Mascotte d'Oasis
            Avatar photoAncielo
            Membre Oasis
              • Sujet: 2541
              • RĂ©ponses: 20308

              Bonjour Terry

              Magnifique.

            • #3403008
              Mascotte d'Oasis
              Avatar photodolores
              Membre Oasis
                • Sujet: 5304
                • RĂ©ponses: 62885

                Bonjour Terry,

                Le gaspacho je connais aussi superbement bonne ces soupes
                merci du partage belle journée amitiés

              • #3403010
                Webmaster
                Avatar photoeolienne
                  • Sujet: 1579
                  • RĂ©ponses: 57414

                  J’ai le plaisir de t’annoncer que ton poĂšme a Ă©tĂ© Ă©lu  »coup de cƓur » par l’équipe des MASCOTTES d’Oasis !

                  Il sera mis sur la page d’accueil du site jusqu’au prochain  »coup de cƓur ».

                  Il sera également mis dans le recueil  »poÚmes nominés » pour y rester définitivement !

                  Toutes nos félicitations

                • #3403078
                  Mascotte d'Oasis
                  Avatar phototerry
                  Membre Oasis
                    • Sujet: 2010
                    • RĂ©ponses: 13996

                    un grand MERCI
                    pour cette nomination
                    merci aux Mascottes
                    Ă  mes AMIS poĂštesses et PoĂštes
                    pour l ( illustration)
                    bref …je suis trĂšs heureuse
                    amitiés
                    Terry

                  • #3403171
                    Mascotte d'Oasis
                    Avatar photopoetamateur
                    Membre Oasis
                      • Sujet: 2850
                      • RĂ©ponses: 6998

                      les couleurs d’automnes sont merveilleuses
                      mais de nos jours, seul(e)s les poĂštes prennentle temps de les admirer !

                      La po?sie r?chauffe les c?urs et calme les esprits.
                      Poetamateur
                    • #3403175
                      Plume de diamant
                      ★★★★★★
                      Avatar photopoetal
                      Membre Oasis
                        • Sujet: 7608
                        • RĂ©ponses: 17193

                        [email]domi.gondrand@laposte.net[/email]
                      • #3403300
                        Plume de diamant
                        ★★★★★★
                        Avatar photoEvilFranck
                        Membre Oasis
                          • Sujet: 903
                          • RĂ©ponses: 126340

                          Bonsoir Terry, trĂšs belles esquisses poĂ©tique de l’automne

                          Amicalement

                          La po?sie, c'est comme la cuisine, le mot faitout 00063312-1
                        • #3403342
                          Plume de diamant
                          ★★★★★★
                          Avatar photoMICKAELLE
                          Membre Oasis
                            • Sujet: 2353
                            • RĂ©ponses: 32108

                            comme c’est joli……….bravo pour la nomination…………

                          • #3403381
                            Mascotte d'Oasis
                            Avatar photoISABELLE59
                            Membre Oasis
                              • Sujet: 8036
                              • RĂ©ponses: 36626

                              il y a une tristesse Ă©vidente, quand se pose l’automne ….
                              et vous l’avez dĂ©licieusement dit.

                            • #3403402
                              Mascotte d'Oasis
                              Avatar photoZAGHBENIFE
                              Membre Oasis
                                • Sujet: 5163
                                • RĂ©ponses: 60764
                              • #3403415
                                Plume de platine
                                ★★★★★☆
                                Avatar photoTHAIEVA
                                Membre Oasis
                                  • Sujet: 249
                                  • RĂ©ponses: 6746

                                  Bonjour,

                                  Magnifique « Tresse d’Automne » …. j’ai beaucoup aimĂ© vous lire.

                                  Thaieva

                                • #3403979
                                  Mascotte d'Oasis
                                  Avatar photopoemic
                                  Membre Oasis
                                    • Sujet: 3071
                                    • RĂ©ponses: 50398

                                    Magnifique poÚme « tressé » aux
                                    couleurs de l’automne !

                                    Belle nomination !

                                    Merci poĂšte et belle semaine

                                    Amitiés

                                    poemic

                                    [color=990000]MON 2eme RECUEIL...JE TE PORTE L'AUBE..EST DISPONIBLE..[/color]
                                    http://www.oasisdesartistes.com/modules/newbbex/viewtopic.php?topic_id=97282&forum=47
                                  • #3405855
                                    Plume d'or
                                    ★★★★☆☆
                                    Avatar photoTradescantia
                                    Membre Oasis
                                      • Sujet: 480
                                      • RĂ©ponses: 1116

                                      Bonjour,

                                      Dans la canicule s’est Ă©vanouie la promesse des pains… La vieille dame a cependant traversĂ©, et son repos est plus qu’une survivance, c’est de la majestĂ©… Le nattage flamboyant de l’automne Ă©meut ce qu’il reste de pierre, ce qu’il reste d’inertie minĂ©rale au grand courage humain…

                                      Gratitude…

                                      Tradescantia

                                  Vous lisez 14 fils de discussion
                                  • Vous devez être connecté pour répondre à ce sujet.