/* ====================== 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']); } Pour toi cher ami PoĂšte VikThor - 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 !

Pour toi cher ami PoĂšte VikThor

  • Ce sujet contient 14 réponses, 15 participants et a Ă©tĂ© mis Ă  jour pour la derniĂšre fois par Avatar photocoutala97240, le 30-01-2022 20:51.
  • Créateur
    Sujet
  • #2690423
    Administratrice
    Avatar photoSybilla
    Maßtre des clés
      • Sujet: 17798
      • RĂ©ponses: 198089

      Tu Ă©tais un grand Homme et tu l’as bien prouvĂ©.
      Ta vaste profondeur et vive gentillesse
      Auront marqué le temps qui restera gravé
      Sous ta plume érudite à la belle allégresse.

      Tu étais un PoÚte engagé par tes actes,
      Et ton humanité dévoilée en tes vers
      OĂč ton humilitĂ© Ă©tait ton univers.
      Quelle noblesse d’Ăąme aux clĂ©mences intactes !

      Sybilla, le 23 janvier 2022

      Le r?ve est le poumon de ma vie (Citation de Sybilla)
    Vous lisez 13 fils de discussion
    • Auteur
      Réponses
      • #3355874
        Mascotte d'Oasis
        Avatar photoislander
        Membre Oasis
          • Sujet: 8957
          • RĂ©ponses: 96782

          je le connais un peu mieux grace Ă  vous,

          sincÚres condoléances à sa famille

          yann

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

            Bonjour Sybilla, fort bel et trÚs touchant hommage poétique

            Amitiés

            La po?sie, c'est comme la cuisine, le mot faitout 00063312-1
          • #3355928
            Mascotte d'Oasis
            Avatar photodolores
            Membre Oasis
              • Sujet: 5304
              • RĂ©ponses: 62885

              Bel hommage chÚre Sybilla belle journée bisous

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

                une des grandes tristesse de ce monde est que le talent de ces personnes merveilleuse n’est reconnu que lorsqu’il ne sont plus lĂ  !!!!


                La po?sie r?chauffe les c?urs et calme les esprits.
                Poetamateur
              • #3355949
                Mascotte d'Oasis
                Avatar photoAncielo
                Membre Oasis
                  • Sujet: 2541
                  • RĂ©ponses: 20308

                  TrĂšs bel hommage.

                • #3356026
                  Plume de diamant
                  ★★★★★★
                  Avatar photoSympatique
                  Membre Oasis
                    • Sujet: 1846
                    • RĂ©ponses: 29792

                    Toutes mes condoléances les plus sincÚres à toute sa famille et ses proches.

                    Repose en paix poĂšte

                  • #3356037
                    Plume de diamant
                    ★★★★★★
                    Avatar photoLyria
                    Membre Oasis
                      • Sujet: 247
                      • RĂ©ponses: 14889

                      Sybilla,
                      Je suis vraiment triste d’apprendre le  » dĂ©part  » de ViKThor. Vous lui rendez un bel hommage dans votre poĂšme. Mes sincĂšres condolĂ©ances Ă  sa famille
                      Amitiés poétiques

                      Mes recueils de po?sies et de nouvelles publi?s aux ?ditions Amalth?e.

                    • #3356061
                      Mascotte d'Oasis
                      Avatar photoluzdelsol
                      Membre Oasis
                        • Sujet: 6731
                        • RĂ©ponses: 48018

                        Merci Sybilla pour ce trĂšs bel hommage rendu Ă  ce poĂšte d’une grande humanitĂ©. Mes sincĂšres condolĂ©ances Ă  sa famille. Repose en paix cher poĂšte

                        Amitié
                        Luz

                        Les gens vivent comme s'ils n'allaient jamais mourir... Et meurent comme s'ils n'avaient jamais vécu. Le Dalai Lama . Nul ne peut atteindre l'aube sans passer par le chemin de la nuit? Khalil Gibran
                      • #3356160
                        Mascotte d'Oasis
                        Avatar photoisabelle24
                        Membre Oasis
                          • Sujet: 10229
                          • RĂ©ponses: 26941

                          des mots élégants et plein de respect pour ce poÚte que tu connaissais

                          GeneviĂšve
                        • #3356228
                          Mascotte d'Oasis
                          Avatar photoelhousaini
                          Membre Oasis
                            • Sujet: 942
                            • RĂ©ponses: 13908

                            Un hommage mérité.

                            Merci Sybilla pour la dĂ©licatesse de tes mots et l’Ă©motion qui s’en dĂ©gage.

                            Portes-toi bien.

                          • #3356531
                            Mascotte d'Oasis
                            Avatar photojessye
                            Membre Oasis
                              • Sujet: 1332
                              • RĂ©ponses: 28192

                              un bel hommage pour une belle personne …

                              C'est beau d'?tre seul(e).
                              ?tre seul(e)ne signifie pas ?tre solitaire.
                              Cela signifie que l'esprit ne vit pas sous influence et qu'il n'est pas pollu?
                              par la soci?t?.
                              [Jiddu Krishnamurti]
                            • #3356597
                              Mascotte d'Oasis
                              Avatar phototerry
                              Membre Oasis
                                • Sujet: 2010
                                • RĂ©ponses: 13996

                                bel hommage Ă  ce poĂšte que je n’ ai pas connu
                                mais que je découvre par vos merveilleux vers
                                il Ă©tait doux , et d’une grande humanitĂ©
                                ce qui le rend digne de tous les commentaires qu’il a reçu !
                                merci mon Amie Sybilla
                                Terry

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

                                  Bel hommage rempli d’Ă©motion Ă  notre ami poĂšte

                                  Condoléances à sa famille

                                  Merci Sybilla pour tes mots émouvants

                                  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
                                • #3357255
                                  Mascotte d'Oasis
                                  Avatar photocoutala97240
                                  Membre Oasis
                                    • Sujet: 1481
                                    • RĂ©ponses: 10343

                                    Bonjour ChĂšre Sybilla

                                    TrĂšs bel hommage rendu Ă  ton ami poĂšte
                                    Des mots de reconnaissance Ă  travers des nobles vers
                                    A bientÎt mes amitiés

                                    Quand la confiance perd ses dimensions
                                    Alors tout s'éfface, puis s'évapore dans l'océan

                                    Une de mes citations Ă  tous

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