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']); } Que dois-je vous Ă©crire ? - 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 !

Que dois-je vous écrire ?

  • Ce sujet contient 1 réponse, 2 participants et a Ă©tĂ© mis Ă  jour pour la derniĂšre fois par Avatar photoislander, le 16-06-2025 01:43.
  • Créateur
    Sujet
  • #2713224
    Plume de platine
    ★★★★★☆
    Avatar photoBOUCHARBA
    Membre Oasis
      • Sujet: 1109
      • RĂ©ponses: 3762

      Que dois-je vous Ă©crire aujourd’hui, le thĂšme, les idĂ©es, les mots ont fui
      Rien ? Je ne le peux. Vous, seuls, ĂȘtes rĂ©ceptacle de ma joie et mes ennuis
      Les vents traversent sans cesse mon esprit nuageux souvent alvéolaire
      Dis ! me dit-elle, ma muse ailée. Je ne veux pas me taire et lui déplaire.

      J’écris des vers Ă©oliens, migrateurs, fous, errants, cĂ©lestes aventuriers.
      Ils trouveront Oasis ce splendide lieu oĂč est permis aux encres de crier
      D’ouvrir son cƓur, tendre sa main, lire des voix et des peines profondes.
      Et comprendre enfin notre ignorance, la diversitĂ© et l’authentique monde.

      Je vous admire Oasiennes, Oasiens. Ecrire, lire, commenter sont des efforts !
      Et vous les architectes du confort, les douaniĂšres insomniaques de l’aĂ©roport
      Je tais vos noms cryptés, gardez vos yeux au ciel dans vos tours de contrÎle.
      Je crains que mon vers atterrit abĂźmĂ© ou qu’une de mes syllabes dĂ©gringole.

      Que rĂšgne le respect, le cƓur battant qui tisse finement d’inoubliables amitiĂ©s !
      Venez lecteurs contempler nos odes, nos toiles, et chez certains de la virtuosité.
      Oasis vous espĂšre Ă©prise et souhaite qu’un jour y atterrissent vos mielleux partages
      Amenez vos plumes, vos encres, vos maux, au bord du vent son agréé attelage.

    Vous lisez 0 fil de discussion
    • Auteur
      Réponses
      • #3527624
        Mascotte d'Oasis
        Avatar photoislander
        Membre Oasis
          • Sujet: 8957
          • RĂ©ponses: 96782

          un an plus tard, je lis votre touchant hommage à Oasis, resté sans réponse Luth oriental faisait partie du gotha d »oasis, un des poÚtes que je préférais, merci, bonne journée

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