/* ====================== 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']); } QUAND UN POÈTE S'EN VA....-humble hommage Ă  HONORÉ- 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 !

QUAND UN POÈTE S’EN VA….-humble hommage Ă  HONORÉ-

  • Ce sujet contient 12 réponses, 12 participants et a Ă©tĂ© mis Ă  jour pour la derniĂšre fois par Avatar photopoesiade, le 08-07-2023 11:10.
  • Créateur
    Sujet
  • #2644902
    Plume de diamant
    ★★★★★★
    Avatar photoamademwa
      • Sujet: 4251
      • RĂ©ponses: 15866

      Hommage Ă  un PoĂšte dont je viens d’apprendre la mort…

      Quand un PoĂšte s’en va
      C’est la rime qui se blesse
      Le vers frissonne
      Le mot le pleure
      Mais le poĂšme reste lĂ …

      Quand un PoĂšte s’en va
      Une vie nous manque
      Son absence est tristesse
      Le monde continue
      Et heureux IL vit au-delĂ …

      Quand un PoĂšte s’en va
      Sanglottent les violons
      Se tait un piano
      La guitare s’endeuille
      Aux creux d’un LA…

      Quand un PoĂšte s’en va
      Nous abrite et nous console
      L’Ă©cho de son ÂME
      Il nous manque c’est vrai
      Au cours d’un ici-bas…

      Quand un PoĂšte s’en va
      S’envolent les pigeons
      Scrutant une paix
      Celle qu’IL avait en son ÊTRE
      Aile est Ă  jamais LÀ…

      Driss

      Pr?tendre salir l'autre,ne nous nettoie point de nos salet?s!!

      Driss

    Vous lisez 11 fils de discussion
    • Auteur
      Réponses
      • #3000018
        Plume de platine
        ★★★★★☆
        Avatar photoprovencao
          • Sujet: 2325
          • RĂ©ponses: 7618

          Merci

        • #3000022
          Mascotte d'Oasis
          Avatar photoislander
          Membre Oasis
            • Sujet: 8957
            • RĂ©ponses: 96782

            merci

          • #3000064
            Plume de diamant
            ★★★★★★
            Avatar photoMICKAELLE
            Membre Oasis
              • Sujet: 2353
              • RĂ©ponses: 32108

              C’est un bel Ă  notre ami HonorĂ©!!!!!!!!!!

            • #3000073
              Plume de platine
              ★★★★★☆
              Avatar photofleurette des bois
                • Sujet: 234
                • RĂ©ponses: 6623

                tout ĂĄ fait
                tu as su exprimer ce que ressent chaque poĂšte quand un s’envole ..
                merci Driss

                merci pour cet hommage pour Honoré que je ne connaissais pas trop mais seulement sa renommée et quelques uns de ses poÚmes que je vais lire avec attention

                qu il repose en paix

                prends soin de toi Driss
                amicalement

                Paula

              • #3000083
                Plume de diamant
                ★★★★★★
                Avatar photorivedusoleil
                  • Sujet: 2859
                  • RĂ©ponses: 7747

                  bel hommage chargĂ© de beautĂ© et d’Ă©motion
                  le poĂšte survivra toujours
                  par la bontĂ© de l’Ăąme et la beautĂ© de ses Ă©crits

                  merci pour ce partage

                  Ah ! si seulement avec une goutte de po?sie ou d'amour nous pouvions apaiser la haine du monde !
                  R?sidence sur la Terre (1935) Pablo Neruda

                  Blog: http://vaguesdepoesie.over-blog.com

                • #3000108
                  Plume de diamant
                  ★★★★★★
                  Avatar photoEvilFranck
                  Membre Oasis
                    • Sujet: 903
                    • RĂ©ponses: 126340

                    Bonsoir amademwa, trÚs beau et touchant hommage poétique pour Honoré

                    Amicalement

                    La po?sie, c'est comme la cuisine, le mot faitout 00063312-1
                  • #3000117
                    Plume de platine
                    ★★★★★☆
                    Avatar photoBulle Des Terres
                      • Sujet: 648
                      • RĂ©ponses: 4970

                      TrĂšs bel hommage

                      LJB - Site : LJB Auteur
                    • #3000120
                      Mascotte d'Oasis
                      Avatar photoISABELLE59
                      Membre Oasis
                        • Sujet: 8036
                        • RĂ©ponses: 36626

                        l’hommage… Ă  un poĂšte, par un poĂšte.. il entend de lĂ  oĂč il est..
                        ces hommages qui lui sont rendus…

                        bravo.. et respect…

                      • #3000125
                        Plume de diamant
                        ★★★★★★
                        Avatar photopoete1947
                          • Sujet: 1581
                          • RĂ©ponses: 13741

                          un trĂšs belle hommage a notre ami et poĂšte HonorĂ© toute mes pensĂ©e vont a la famille et au ami de oasis merci d’ĂȘtre rester avec nous toute c’est annĂ©es tu est partit rejoindre nellyffee -annie -jacque et bien d’autre il vont avoir de quoi lire sur le chemin des poĂštes qui on posĂ© la question doux on viens ou on est ou on va tu nous donnera la rĂ©ponse quand on se retrouvera dans le jardin des poĂšte
                          😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆 😆

                          http://www.mespoemes.net/poete47/
                          "Aimer ce n'est pas se regarder l'un l'autre mais c'est regarder ENSEMBLE dans la m?me direction" Saint Exup?ry"
                        • #3000205
                          Plume de diamant
                          ★★★★★★
                          Avatar photoamademwa
                            • Sujet: 4251
                            • RĂ©ponses: 15866

                            Merci et longue vie Ă  tout poĂšte!!
                            Que ton ùme en paix repose,Honoré!

                            Driss

                            ****

                            Pr?tendre salir l'autre,ne nous nettoie point de nos salet?s!!

                            Driss

                          • #3000214
                            Mascotte d'Oasis
                            Avatar photomeldois
                            Membre Oasis
                              • Sujet: 1185
                              • RĂ©ponses: 15294

                              Un trÚs bel hommage à notre ami Honoré avec cette belle poésie
                              Amitiés poétiques
                              Alain

                              L'aiglon de MEAUX "
                            • #3000957
                              Plume de diamant
                              ★★★★★★
                              Avatar photopoesiade
                                • Sujet: 546
                                • RĂ©ponses: 10506

                                Quand un poĂšte s’en va
                                La Muse porte le deuil
                                La magie lui emboĂźte le pas
                                Les anges fleurent son cercueil
                                Ce n’est point un Adieu
                                Il sera toujours lĂ 

                                Amitiés

                                Mes Romans viennent de para?tre : " LES LAMES DU SILENCE" chez EDILIVRE
                                "LE coffret en bois d'?b?ne " chez ?ditions MUSE
                                et mon recueil de po?sie"Tranches de Vies " chez Edilivre
                            Vous lisez 11 fils de discussion
                            • Vous devez être connecté pour répondre à ce sujet.