| 1 | <?PHP |
|---|
| 2 | if (isset($_POST["ok"])) { |
|---|
| 3 | $host="localhost"; |
|---|
| 4 | $login="root"; |
|---|
| 5 | $pass=""; |
|---|
| 6 | $base="blog"; |
|---|
| 7 | $cnx=mysql_connect($host, $login, $pass); |
|---|
| 8 | if (!$cnx) { |
|---|
| 9 | echo "erreur de connexion : ".mysql_error(); |
|---|
| 10 | }else{ |
|---|
| 11 | if (!mysql_select_db($base, $cnx)) { |
|---|
| 12 | echo "erreur de connexion : ".mysql_error(); |
|---|
| 13 | } |
|---|
| 14 | } |
|---|
| 15 | /* on recupere les billets de dotclear et wordpress avec leur catégories respectives */ |
|---|
| 16 | $A_temp_table = array(); |
|---|
| 17 | $S_req = " |
|---|
| 18 | SELECT |
|---|
| 19 | `dc_post`.`post_titre`, |
|---|
| 20 | `dc_post`.`post_id`, |
|---|
| 21 | `wp_posts`.`ID`, |
|---|
| 22 | `dc_categorie`.`cat_libelle`, |
|---|
| 23 | `dc_categorie`.`cat_id`, |
|---|
| 24 | `wp_terms`.`term_id`, |
|---|
| 25 | `wp_term_taxonomy`.`term_taxonomy_id` |
|---|
| 26 | FROM |
|---|
| 27 | `dc_post` |
|---|
| 28 | Inner Join `dc_categorie` ON `dc_post`.`cat_id` = `dc_categorie`.`cat_id` |
|---|
| 29 | Inner Join `wp_terms` ON `dc_categorie`.`cat_libelle` = `wp_terms`.`name` |
|---|
| 30 | Inner Join `wp_posts` ON `dc_post`.`post_titre` = `wp_posts`.`post_title` |
|---|
| 31 | Inner Join `wp_term_taxonomy` ON `wp_terms`.`term_id` = `wp_term_taxonomy`.`term_id`"; |
|---|
| 32 | $A_result = mysql_query($S_req); |
|---|
| 33 | if (!$A_result) echo mysql_error(); |
|---|
| 34 | while ($A_row = mysql_fetch_row($A_result)) { |
|---|
| 35 | $A_temp_table[]=$A_row; |
|---|
| 36 | } |
|---|
| 37 | |
|---|
| 38 | /* on insert les categories dans wordpress avec les bons ID (table wp_term_relationships) (il faut préalablement vider la table) */ |
|---|
| 39 | $I_nb_elements = count($A_temp_table); |
|---|
| 40 | for ($i=0; $i < $I_nb_elements; $i++){ |
|---|
| 41 | $S_req_update = " |
|---|
| 42 | INSERT INTO wp_term_relationships (object_id, term_taxonomy_id) |
|---|
| 43 | VALUES (".$A_temp_table[$i][2].", ".$A_temp_table[$i][5].");"; |
|---|
| 44 | $rs = mysql_query($S_req_update); |
|---|
| 45 | if (!$rs) echo mysql_error(); |
|---|
| 46 | } |
|---|
| 47 | |
|---|
| 48 | /* on met a jour le nombre de billet par catégories de la table wp_term_taxonomy (sinon les catégories ne s'affichent pas dans le front du blog) */ |
|---|
| 49 | $A_temp_table_count = array(); |
|---|
| 50 | $S_req_count = " |
|---|
| 51 | SELECT term_taxonomy_id, count( * ) AS nb |
|---|
| 52 | FROM wp_term_relationships |
|---|
| 53 | GROUP BY term_taxonomy_id"; |
|---|
| 54 | $A_result_count = mysql_query($S_req_count); |
|---|
| 55 | if (!$A_result_count) echo mysql_error(); |
|---|
| 56 | while ($A_row_count = mysql_fetch_row($A_result_count)) { |
|---|
| 57 | $A_temp_table_count[]=$A_row_count; |
|---|
| 58 | } |
|---|
| 59 | |
|---|
| 60 | $I_nb_elements_count = count($A_temp_table_count); |
|---|
| 61 | for ($i=0; $i < $I_nb_elements_count; $i++){ |
|---|
| 62 | $S_req_update_count = " |
|---|
| 63 | UPDATE wp_term_taxonomy |
|---|
| 64 | SET count = ".$A_temp_table_count[$i][1]." |
|---|
| 65 | WHERE term_taxonomy_id = ".$A_temp_table_count[$i][0].";"; |
|---|
| 66 | $rs = mysql_query($S_req_update_count); |
|---|
| 67 | if (!$rs) echo mysql_error(); |
|---|
| 68 | } |
|---|
| 69 | } |
|---|
| 70 | |
|---|
| 71 | ?> |
|---|
| 72 | <form id='import' action='' method='POST'> |
|---|
| 73 | <table> |
|---|
| 74 | <tr> |
|---|
| 75 | <td><input type="submit" name="ok" value="TRANSFERT"/></td> |
|---|
| 76 | </tr> |
|---|
| 77 | </form> |
|---|
| 78 | </table> |
|---|