WordPress.org

Make WordPress Core

Ticket #10259: import_wordpress.php

File import_wordpress.php, 2.6 KB (added by latour.alain@…, 6 years ago)
Line 
1<?PHP
2if (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>