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']); } a ce jour - 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 !

a ce jour

đŸ‘ïž 4089 vues

FETE DES MERES

JUIN 2011


28 rĂ©flexions au sujet de “a ce jour”

  1. Bonsoir ma chĂšre amie Monica,

    Merci pour le partage de ta photo !

    Tu nous manques beaucoup sur le site !

    Belle soirée chÚre amie poétesse Monica !
    Toutes mes amitiés
    Gros bisous
    Sybilla

  2. Bonsoir ma chĂšre amie Monica,

    Merci pour le partage de ta photo !

    Tu nous manques beaucoup sur le site !

    Belle soirée chÚre amie poétesse Monica !
    Toutes mes amitiés
    Gros bisous
    Sybilla

  3. tous les mois sont valable pour dire « bonne fĂȘte, je t’aime maman »

  4. tous les mois sont valable pour dire « bonne fĂȘte, je t’aime maman »

  5. BONJOUR MON REBELLE
    TRES HEUREUSE QUE TU SOIS SUR CE SITE

    JE TE FAIS DE GROS BISOUS UN PEU EN RETARD
    MAIS J’ETAIS ABSENTE TOUS CE TEMPS

  6. BONJOUR MON REBELLE
    TRES HEUREUSE QUE TU SOIS SUR CE SITE

    JE TE FAIS DE GROS BISOUS UN PEU EN RETARD
    MAIS J’ETAIS ABSENTE TOUS CE TEMPS

  7. ALORS,NE TE TROMPES PAS D ANNEE,MONICA…gros bisous du momo de Jepo.A plus,ma puce.Belle journĂ©e.

  8. ALORS,NE TE TROMPES PAS D ANNEE,MONICA…gros bisous du momo de Jepo.A plus,ma puce.Belle journĂ©e.

  9. Salut Monica
    Je suis heureux de te revoir.Tes yeux Ă©tant le miroir de ton Ăąme,je les trouve mielleux,rĂȘveurs,beaux et profondĂ©ment attentifs ainsi que tendrement poĂ©tiques!!!
    Merci
    amitiés
    farid(je vote aussi 10 sur 10)

  10. Salut Monica
    Je suis heureux de te revoir.Tes yeux Ă©tant le miroir de ton Ăąme,je les trouve mielleux,rĂȘveurs,beaux et profondĂ©ment attentifs ainsi que tendrement poĂ©tiques!!!
    Merci
    amitiés
    farid(je vote aussi 10 sur 10)

Laisser un commentaire