Un petit bonjour Ă toutes et Ă tous…
12 rĂ©flexions au sujet de “Un petit bonjour Ă toutes et Ă tous…”
Laisser un commentaire
Vous devez vous connecter pour publier un commentaire.
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']); }
Oasis des Artistes. Le plus beau site de poésie
Vous devez vous connecter pour publier un commentaire.
Bonsoir ma chĂšre amie Isabelle,
Merci d’avoir mis ta photo !
Belle soirée chÚre amie poétesse Isabelle !
Toutes mes amitiés
Gros bisous
Sybilla
Bonsoir ma chĂšre amie Isabelle,
Merci d’avoir mis ta photo !
Belle soirée chÚre amie poétesse Isabelle !
Toutes mes amitiés
Gros bisous
Sybilla
C’est superbe !

C’est superbe !

Merci de vos gentils mots sur cet écrit et sur cette photo
Bon dimanche Ă toutes et Ă tous
Bien amicalement
Isabelle
Merci de vos gentils mots sur cet écrit et sur cette photo
Bon dimanche Ă toutes et Ă tous
Bien amicalement
Isabelle
belle photo souvenir

belle photo souvenir

magnifiques !!! le poĂšme et aussi l’illustration âŠ
j’ai beaucoup aimĂ©
magnifiques !!! le poĂšme et aussi l’illustration âŠ
j’ai beaucoup aimĂ©
Dans sa robe de soirée
Elle me tient compagnie
Elle console ma nostalgie
Je la cĂąline comme mon homme
Je mâimagine instant Ă balancer
Les accords devant vous
Sa caisse me fait vibrer
Son corps mâĂ©motionne
Je rĂȘve les yeux ouverts
Depuis quâelle fait partie
Des meubles de la maison
Je la bichonne, la pomponne
Dans sa robe ébÚne
Son corps contre mon corps
Tremble dans mes mains
Ma tĂȘte tourbillonne sur les notes
Je chante la tendresse, l’amitiĂ©
Sa compagnie me plait,c’est fou
Ma guitare fait partie de ma vie
Je me sens calme, je me sens bien!
D.Isabelle
Dans sa robe de soirée
Elle me tient compagnie
Elle console ma nostalgie
Je la cĂąline comme mon homme
Je mâimagine instant Ă balancer
Les accords devant vous
Sa caisse me fait vibrer
Son corps mâĂ©motionne
Je rĂȘve les yeux ouverts
Depuis quâelle fait partie
Des meubles de la maison
Je la bichonne, la pomponne
Dans sa robe ébÚne
Son corps contre mon corps
Tremble dans mes mains
Ma tĂȘte tourbillonne sur les notes
Je chante la tendresse, l’amitiĂ©
Sa compagnie me plait,c’est fou
Ma guitare fait partie de ma vie
Je me sens calme, je me sens bien!
D.Isabelle