/* ====================== REPLIES + CONTENT (OPTIMISÉ) ====================== */ private function migrateReplies(){ global $wpdb; // đŸ”č dernier topic WP traitĂ© $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 // ====================== $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; } // ====================== // STATS // ====================== $inserted = 0; $skipped = 0; $updated = 0; $total = count($posts); $i = 0; // ====================== // PROCESS // ====================== foreach($posts as $p){ $i++; // đŸ”č progression % 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 (IMPORTANT FIX) // ====================== $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)); } // ====================== // SAVE PROGRESSION // ====================== $max_wp_topic = max(array_column($topic_rows, 'wp_topic_id')); $this->setLast_Topic($max_wp_topic); // ====================== // FINAL LOG // ====================== $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("===================================="); } add_action('init', function(){ if(!isset($_GET['bbex_batch_sans_mirror'])) return; if($_GET['bbex_batch_sans_mirror'] !== 'run') return; if(!isset($_GET['key']) || $_GET['key'] !== 'oasis-cron'){ die('clĂ© invalide'); } $migration = new BBExBatchMigration(); $migration->setSource('live'); $migration->run(); echo "Batch LIVE exĂ©cutĂ©"; exit; });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']); } Abdelkader KHALDI chantre d'Algerie - 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 !

Abdelkader KHALDI chantre d’Algerie

  • Ce sujet contient 1 réponse, 2 participants et a Ă©tĂ© mis Ă  jour pour la derniĂšre fois par Avatar photoahlami, le 16-02-2008 13:39.
  • Créateur
    Sujet
  • #2602971
    Plume de diamant
    ★★★★★★
    Avatar photoguepard
    Membre Oasis
      • Sujet: 1628
      • RĂ©ponses: 9568

      BAKHTA
      DU MAITRE ABDELKADER KHALDI
      TRADUCTION D’AHMED AMINE DELLAI

      Ah, quel grand jour, ce jour oĂč elle est venue . L’objet de tous mes dĂ©sirs, la femme aux yeux teints en noir, Bakhta Ă  la beautĂ© aussi piquante que la conversation, cette Houarienne , elle a Ă©clipsĂ© l’étoile du matin, par sa beautĂ©, ce dernier-nĂ© de mes amours.
      Bakhta au cou de gazelle, son type de beautĂ© n’appartient qu’à elle, gazelle qui fuirait dans le creux des vallons, serrĂ©e de prĂšs par la meute, elle ne laisse pas le chasseur s’approcher, car elle sait de quoi il en retourne.
      Bakhta le faucon –femelle des collines, qui ressemble à la Jazia de Diab , elle subjugue, cette femme aux yeux noirs, par le charme de ses traits et de son esprit, c’est à juste raison, O mes amis, et à juste titre, que je succombe à la passion.
      Ce jour-lĂ  Ă©tait un jour faste, j’y ai rencontrĂ© celle qui rayonne comme un soleil, Bakhta la lumiĂšre de mes yeux, qui me possĂšde comme une dĂ©mone, je ressens du dĂ©sir pour elle quand elle m’appelle : « Mon chĂ©ri ! ».
      Je sens mon dĂ©sir pour elle monter en moi quand elle m’appelle : « Sidi !» ma peine de cƓur, n’est Ă  nulle autre pareille, et la blessure d’amour que m’a infligĂ© Bakhta est sĂ©rieuse. Soyez indulgents et comprĂ©hensifs avec El Khaldi, O vous qui en avez vu dans votre vie.
      J’ai reçu un homme avec un message, de la part de Bakhta qui l’avait rencontrĂ© dans la gare, et l’a envoyĂ© chez moi, il m’a parlĂ© en cachette, ce qu’il m’a dit a jetĂ© le trouble en moi, O mes amis, aprĂšs une si longue accalmie. Il est arrivĂ© vers midi, et il m’a trouvĂ© plongĂ© dans mes idĂ©es noires et souffrant, Ă  force d’ĂȘtre tourmentĂ© par la passion et de ruminer, je sens l’espace se resserrer autour de moi, j’ai bu bien des coupes amĂšres tellement le dĂ©sir de la revoir Ă©tait vif, alors que mon esprit Ă©tait chez la responsable de mon Ă©tat.
      DĂšs que j’ai eu son message, ma raison m’a abandonnĂ© et s’est envolĂ© vers elle, j’avais tant soupirĂ© aprĂšs elle, que j’étais ravi, elle m’a consumĂ© le cƓur et les trĂ©fonds.
      Je l’ai trouvĂ© Ă  bord d’une calĂšche, assise comme le gĂ©nĂ©ral en chef des armĂ©es, Ă  son cou, long et bien droit, un collier, et le visage net et resplendissant comme un miroir, Ă  sa vue j’ai perdu ma contenance et tout mon courage.
      Je suis restĂ© bouche bĂ©e, quand j’ai vu ma belle Bakhta, qui brillai comme un diamant, parĂ©e avec Ă©lĂ©gance de ses plus baux atours, et elle m’a coupĂ© le souffle, quand elle m’a tendu sa main droite.
      Nous nous sommes embrassés avec fougue et passion devant le marché, un baiser long et fou, sans faire attention aux gens, ceux qui critiquent les amoureux ne son que des sots.
      Nous sommes descendus Ă  l’hĂŽtel, Ă  l’insu de tout le monde, moi et la « clartĂ© de la lune », loin des regards des bavards, ces moments sont propices, j’ai atteint mon but et rĂ©alisĂ©s mes dĂ©sirs.
      Nous avons passĂ© des heures Ă  discuter, l’amour dĂ©liant les langues, nos propos Ă©taient loin d’ĂȘtre futiles et nos cƓurs Ă©taient indemnes de toute duplicitĂ©, nous Ă©prouvons les mĂȘmes sentiments l’un pour l’autre, nous nous aimons l’un et l’autre de la mĂȘme façon.
      « O toi qui as le regard du faucon, lui dis-je, depuis que je me suis sĂ©parĂ© de toi, je vais de plus en plus mal, ma passion pour toi est violente, sa flamme me consume de l’intĂ©rieur mais que puis-je faire ? Moi je suis de Mascara et toi tu es du Sud ! ».
      La « lumiĂšre de mes yeux », Ă©clat Ă©blouissant de l’astre de la nuit, me dit : »je suis entre tes mains, O bourreau de mon cƓur, fais de moi ce que tu veux, tu es mon roi, et moi, Bakhta, je suis ta servante dĂ©vouĂ©e !».
      Durant sept heures de tĂȘte-Ă -tĂȘte nocturne, oĂč nous nagions dans l’ivresse sans avoir bu une goutte de vin, je n’eus jamais assez de regarder, ou d’écouter parler cette femme d’esprit, elle m’ensorcelle du regard, dĂ©s que nos yeux se rencontrent.
      Rien de plus beau que deux ĂȘtres qui se tiennent compagnie, le cƓur rempli de gaietĂ©, rien de plus beau que la rencontre de ceux qui se morfondaient de nostalgie, et les baisers affectueux, rien de plus beau que les dents qui se frottent aux dents, entre des lĂšvres purpurines.
      Quoi de plus beau que le tintement des verres, mĂȘlĂ© au chant des flĂ»tes qui modulent un prĂ©lude « Gabli », une certaine griserie s’empare du cerveau, et chantonner ne fait que l’accroĂźtre, quoi de plus beau que la compagnie des belles, quand elles se mettent Ă  tĂ©moigner d’une sincĂšre affection.
      Quoi de plus beau que les veillées, au son des flûtes avec des filles qui se déhanchent, et des braves aux maniÚres convenables, au fait des rÚgles du savoir-vivre, chaque amant avec sa maßtresse, chaque tigre avec sa tigresse.
      Que c’est beau de dĂ©tacher le licol, de desserrer la ventriĂšre et de dĂ©grafer le poitrail, que c’est beau de frotter son Ă©peron sur une jument de race rapide Ă  la course, Ă  la robe grise et Ă  la peau soyeuse, qui virevolte comme un esprit volant.

      Chaque homme porte en lui l'enfant qu'il ?tait Charef
    Vous lisez 0 fil de discussion
    • Auteur
      Réponses
      • #2739703
        Plume de platine
        ★★★★★☆
        Avatar photoahlami
          • Sujet: 309
          • RĂ©ponses: 3113

          TrĂšs bel hommage
          Que dire de plus que j’adore cette chanson et rien qu’on Ă©coutant cette musique, le son du violent, me donne vraiment des frissons.
          Que rajouter, tout est dit dans le texte qui est en fait une belle dĂ©claration d’amour.

          le texte de la chanson « Bakhta » telle que chantĂ©e par notre Oustad Blaoui Houari. Ce poĂšme, Ă©crit et dĂ©diĂ© de son vivant par Cheikh Abdelkader Khaldi Ă  sa dulcinĂ©e favorite Bakhta, reste parmi les meilleurs poĂšmes du terroir du genre « ghazal » (poĂšme d’amour).

          Chanson : BAKHTA

          Madam youm mine jĂšte
          Kh’lilti sabghĂšte ennajlĂšte
          Bakhta zinĂšte labnate
          Oulawjab El-Houaria
          FatĂšte nej’met law’qate
          Fi t’bĂąa el-mazouzia
          Bakhta Ăąwd el-Ăąrrad
          Zin’ha ma kesbouh er’yad
          Metrouda fi lawhab
          Ghaybou biha hihaya
          Bakhta Ăąrem lahdab
          Dayra ki jaz’yĂšte ed’diab
          Tajleb k’hilĂšte lahdab
          Ba s’mayam wa el-Ăąaqliya
          Ma gouani ya lahbab
          Nenm’t’hĂšne wa el-haq m’Ăąaya

          Dak el-youm s’idi
          L’qit fih ech^a^ gadi
          Bakhta nour t’nadi
          Melkat’ni ki el-janiya
          YĂąachaq’ha mouradi
          Mine tal’ghali ya khouya
          Yar’ghab’ha mouradi
          Mine tal’ghali ya sidi
          DeblĂšte galbi wahdi
          Kayti men Bakhta kiya
          Hasnou Ăąawn El-Khalidi
          Âala elli chafah fi eddounia

          Jani rajal béchar
          Sab’tou Bakhta fi la gare
          Raslat’lou ja laddar
          Ăąadli lakh’bar kh’fiya
          Hallak’ni ya landar
          M’nine kĂšne el-hind m’naya
          Jani fi nous anhar
          Sabni mehmoum ou medrar
          Ba el-mehna wa ettafkar
          Dayeq lawtan Ăąaliya
          Cherrabni ma echouq m’rar
          Khatri Ăąand elli biya
          Hine asmĂąat akh’bar’ha
          ChĂškhe Ăąaqli wa m’cha liha
          Mennite ch’waqi fiha
          Afrah’te ki sabt sĂąaya
          Salbat’ni mehnat’ha
          Kharw’date maya wa h’waya

          Najbar’ha fi kalich
          Rakba ki amir el-jich
          Wa erraqba ba ettarnich
          Ras’ya wa el-wajh m’raya
          Menha wallite d’hich
          Ma b’qate ezĂąama fiya

          Qab’tatni ki el-bahta
          M’nine cheft gh’zali Bakhta
          Tad’wi ki el-yaqouta
          M’khalfa chohra zoukhiya

          QatĂąate fiya ennahta
          M’nine meddatli limniya
          At’salam’na ba echouq
          Wa el-mehna qoudam essouq
          Esslam touil h’mouq
          Ma d’rina ba eddounia
          El-mĂąachouqa wa el-mĂąachouq
          Ma iloumouhoum el- ĂŽukliya
          Rawah’na fi khir
          Ma s’mĂąa bina had el-ghir
          Ana ou dhay el-mounir
          Darguine Ăąla cherraya
          Fi sĂąa sĂąate khir
          Awfa el-meq’soud wa el-menya

          Avec toute mon amitié Amina

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