/* ====================== 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']); } 11 novembre - 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 !

11 novembre

  • Ce sujet contient 7 réponses, 4 participants et a Ă©tĂ© mis Ă  jour pour la derniĂšre fois par Avatar photoSybilla, le 16-11-2023 16:38.
  • Créateur
    Sujet
  • #2706820
    Mascotte d'Oasis
    Avatar photomeldois
    Membre Oasis
      • Sujet: 1185
      • RĂ©ponses: 15294

      Bonsoir l’Ă©quipe de modĂ©ration,

      J’ai un coup de coeur pour le poĂšme de EltĂ©or qui n’a pas Ă©tĂ© nominĂ© au mois de novembre.
      Il s’appelle :

      LA PEUR ( pas d’illustration)

      Merci beaucoup pour mon vote.
      Bonne soirée.
      Alain

      L'aiglon de MEAUX "
    Vous lisez 6 fils de discussion
    • Auteur
      Réponses
      • #3479460
        Plume de diamant
        ★★★★★★
        Avatar photocyrael
        Membre Oasis
          • Sujet: 14564
          • RĂ©ponses: 136022

          bonsoir,

          ELTEOR mérite bien sur _______nomination_________

          _____________________________________

          https://www.oasisdesartistes.org/modules/newbbex/viewtopic.php?topic_id=315153&forum=2#forumpost3285378

          __________________________________________________________________________________________________________________________________________

          ( mais , je vois qu’il ne commente pas ____ou une juste….une seule fois … )

          par rapport Ă  tout ce qu’il a dĂ©jĂ  Ă©crit, postĂ© , comme poĂšmes …

          il semble qu’il ___________n’aime pas commenter les autres

          c ‘est bien dommage__ ___ car on lui a dĂ©jĂ  , adressĂ© des messages privĂ©s

          pour lui demander ,____ d’ etre plus actif__________

          mais…il semble ne pas vouloir , ______ participer .._______

          l'Amour rayonne quand l'Ame s'?l?ve, citation maryjo
        • #3479470
          Plume de diamant
          ★★★★★★
          Avatar photocyrael
          Membre Oasis
            • Sujet: 14564
            • RĂ©ponses: 136022

            https://www.oasisdesartistes.org/modules/newbbex/viewtopic.php?topic_id=315153&forum=2#forumpost3285378

            _____________________________________________________
            je regarde encore une fois pour voir s’il est plus actif

            ______________________NON ___________

            PoĂšmes en ligne

            PoĂšmes en ligne11 NOVEMBRE
            11/11/2023 8:08:33

            PoĂšmes en ligneLa bonne direction
            10/11/2023 18:30:01

            PoĂšmes en ligneDans le square
            6/11/2023 20:47:51

            Poùmes en ligneÖ douceur du temps
            4/11/2023 8:40:33

            PoĂšmes en ligneIMPRESSIONS
            2/11/2023 10:34:28

            PoĂšmes en ligneSpleen de vie
            1/11/2023 18:26:50

            PoÚmes en ligneUne autre humanité
            24/10/2023 22:03:28

            PoĂšmes en ligneJe d’ombre
            22/10/2023 11:32:38

            PoĂšmes en ligneLes invisibles
            20/10/2023 10:48:57

            il a posté tous ces poÚmes, et je ne vois aucune trace

            de commentaires chez les autres lecteurs

            donc , _______________________________________________

            je ne suis pas du tout , enchantée de le voir nominé

            ________JE SUIS FRANCHE__________

            ___________________________________________________

            mais c est Ă  EOLIENNE et

            _____ Ă  l ‘Ă©quipe des modĂ©ratrices modĂ©rateurs d’en dĂ©cider

            ____

            l'Amour rayonne quand l'Ame s'?l?ve, citation maryjo
          • #3479475
            Plume de diamant
            ★★★★★★
            Avatar photocyrael
            Membre Oasis
              • Sujet: 14564
              • RĂ©ponses: 136022

              la peur d’elteor

              https://www.oasisdesartistes.org/modules/newbbex/viewtopic.php?topic_id=315153&forum=2#forumpost3285378

              La peur

              Je m’appelle Hans et je suis allemand
              Mon pÚre a péri dans les tranchées de Verdun
              TuĂ© au cƓur d’un coup de couteau par un Poilu
              Je ne l’ai pas connu, je n’avais que cinq ans.

              EnrÎlé dans la Wehrmacht, nous avons envahi
              En un mois la Pologne, la guerre commence
              DĂ©clenchĂ©e par la folie d’un homme dĂ©nommĂ©
              Hitler, six annĂ©es d’horreurs absolues.

              Je n’ai rien demandĂ©, seulement subi
              Je l’avoue, endoctrinĂ© par un fanatique
              Le peuple a suivi le FĂŒhrer vers l’enfer
              Atteint par les maux les plus infects.

              Pourquoi ? Ai-je participĂ© Ă  l’abominable
              Au pire, Ă  la nĂ©gation totale d’ĂȘtres humains
              A leur méthodique anéantissement programmé
              On se disait supérieur à eux, mais en quoi ?

              Aujourd’hui !

              Nous sommes petits enfants de boches et poilus
              Nous ne voulons plus de guerre, mais que la paix
              Nous pensons Ă  tous ces morts, pour notre salut
              Plus jamais çà ! Ils méritent notre respect !

              l'Amour rayonne quand l'Ame s'?l?ve, citation maryjo
            • #3479491
              Plume de diamant
              ★★★★★★
              Avatar photocyrael
              Membre Oasis
                • Sujet: 14564
                • RĂ©ponses: 136022

                BONSOIR

                je viens d’avoir _________un message privĂ© de MELDOIS_______________

                qui me dit, qu’il vient de lire ___ce que je viens de publier..

                _________donc, il pense qu’il ne mĂ©rite pas de nomination________________

                je vous prie de croire, en toute ma sincérité

                d’ailleurs par message privĂ©, le poĂšte MELDOIS vous le confirmera

                voilĂ  pourquoi il est trĂšs important de savoir communiquer

                et expliquer les choses comme elles sont

                on sait pas tout, donc, ce que j’aime c est que la situation soit claire et nette

                merci Ă  tous

                l'Amour rayonne quand l'Ame s'?l?ve, citation maryjo
              • #3479568
                Webmaster
                Avatar photoeolienne
                  • Sujet: 1579
                  • RĂ©ponses: 57414
                • #3479877
                  Plume de diamant
                  ★★★★★★
                  Avatar photocyrael
                  Membre Oasis
                    • Sujet: 14564
                    • RĂ©ponses: 136022

                    étonnant________ premier commentaire sous un de mes poÚmes

                    merci EOLIENNE

                    l'Amour rayonne quand l'Ame s'?l?ve, citation maryjo
                  • #3480253
                    Administratrice
                    Avatar photoSybilla
                    Maßtre des clés
                      • Sujet: 17798
                      • RĂ©ponses: 198089

                      Bonsoir Chers Amis poĂštes,

                      Ok !

                      Belle soirée Chers Amis poÚtes !
                      Toutes mes amitiés
                      Gros bisous
                      Sybilla

                      Le r?ve est le poumon de ma vie (Citation de Sybilla)
                  Vous lisez 6 fils de discussion
                  • Vous devez être connecté pour répondre à ce sujet.