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']); } Un bonjour Ă  tous - 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 !

Un bonjour Ă  tous

  • Ce sujet contient 6 réponses, 4 participants et a Ă©tĂ© mis Ă  jour pour la derniĂšre fois par Avatar photodouceur3, le 03-05-2012 23:37.
  • Créateur
    Sujet
  • #2621720
    Mascotte d'Oasis
    Avatar photodouceur3
    Membre Oasis
      • Sujet: 1828
      • RĂ©ponses: 21965

      je suis absente présentement pour régler des choses personnelles.
      je suis Ă  plat et mon coeur n’y est pas.
      Veillez m’excuser je vais vous revenir en forme bientĂŽt.

      Merci et je vous embrasse!

      Lire, c?est rencontrer du monde, au plus profond de soi.
    Vous lisez 5 fils de discussion
    • Auteur
      Réponses
      • #2843357
        Mascotte d'Oasis
        Avatar phototolpac
        Membre Oasis
          • Sujet: 3652
          • RĂ©ponses: 28714

          Bonjour Douceur3

          Tu sais ce que j’en pense …Dans la vie il faut rĂ©gler les choses pour ne pas les laisser ( et se mettre ) en souffrances.

          Amitié

          Christian

        • #2843359
          Mascotte d'Oasis
          Avatar photodouceur3
          Membre Oasis
            • Sujet: 1828
            • RĂ©ponses: 21965

            merci mon ami
            ce matin je n’avais pas la force de me lever
            mais ca va aller et des jours meilleurs sont a suivre.

            Lire, c?est rencontrer du monde, au plus profond de soi.
          • #2843471
            Webmaster
            Avatar photoeolienne
              • Sujet: 1579
              • RĂ©ponses: 57414
            • #2843495
              Mascotte d'Oasis
              Avatar photodouceur3
              Membre Oasis
                • Sujet: 1828
                • RĂ©ponses: 21965

                merci Éolienne !

                Lire, c?est rencontrer du monde, au plus profond de soi.
              • #2843581
                Plume de diamant
                ★★★★★★
                Avatar photocyrael
                Membre Oasis
                  • Sujet: 14564
                  • RĂ©ponses: 136022

                  courage DOUCEUR
                  sur les blessures du coeur
                  il faut mettre de l’onguent,
                  Pour Guérir, il faut du temps..

                  avec mes sincĂšres voeux de bon
                  rétablissement..
                  bisous

                  [url=http://www.servimg.com/image_preview.php?i=1177&u=12564586][/url]

                  l'Amour rayonne quand l'Ame s'?l?ve, citation maryjo
                • #2843663
                  Mascotte d'Oasis
                  Avatar photodouceur3
                  Membre Oasis
                    • Sujet: 1828
                    • RĂ©ponses: 21965

                    merci Cyrael !

                    Lire, c?est rencontrer du monde, au plus profond de soi.
                Vous lisez 5 fils de discussion
                • Vous devez être connecté pour répondre à ce sujet.