eden33
27 rĂ©flexions au sujet de “eden33”
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.
TrĂšs belle photo en partage !
TrĂšs belle photo en partage !
Tu manques Ă L’Oasis.
SincÚres pensées.
Bon soir.
TrĂšs belle fleur que je caresse dans mon jardin secret.
Pascal
Bon soir.
TrĂšs belle fleur que je caresse dans mon jardin secret.
Pascal
une jolie femme aux cheveux clairs !
une jolie femme aux cheveux clairs !
Quel plaisir de te revoir eden.
Amitiés.
Quel plaisir de te revoir eden.
Amitiés.
Merci,
A caractĂšre, je ne sais pas…
Franche, oui…et sensible
Amitiés
Merci,
A caractĂšre, je ne sais pas…
Franche, oui…et sensible
Amitiés
c’est bien de voir qui nous commente
trĂšs belle dame je pense Ă caractĂšre!
EM
c’est bien de voir qui nous commente
trĂšs belle dame je pense Ă caractĂšre!
EM
ravissante …
ravissante …
Pleine de charme et d’enthousiasme.
SincĂšrement.

Pleine de charme et d’enthousiasme.
SincĂšrement.

trĂšs jolie image de vous! merci
trĂšs jolie image de vous! merci
Bonsoir :

Ta photo (comme toi) est bien partout !
Palmito (Chris)
Bonsoir :

Ta photo (comme toi) est bien partout !
Palmito (Chris)
imposante
fascinante
resplendissante
souriante
imposante
fascinante
resplendissante
souriante
Merci, n’ayant pas su mettre ma photo dans l’avatar, je l’ai mise lĂ …
Bien Ă vous Flamande
Merci, n’ayant pas su mettre ma photo dans l’avatar, je l’ai mise lĂ …
Bien Ă vous Flamande
Enchantée de faire votre connaissance !
Enchantée de faire votre connaissance !