[ Index ]

PHP Cross Reference of zeList

title

Body

[close]

/ -> import.php (source)

   1  <?php
   2  
   3  die();
   4  
   5  global $wpdb;
   6  
   7  $posts = $wpdb->get_col("SELECT ID FROM wp_posts WHERE wp_posts.post_type = 'zelist' ORDER BY wp_posts.ID");
   8  $results = $wpdb->get_results("SELECT post_ID,meta_value FROM wp_postmeta WHERE meta_key = 'zelist_url'");
   9  foreach($results as  $result) {
  10    $urls[$result->post_ID] = $result->meta_value;
  11  }
  12  
  13  $links = $wpdb->get_results("SELECT link_id, link_url FROM $wpdb->links");
  14  
  15  foreach($links as $link) {
  16    $translation[$link->link_url] = $link->link_id;
  17  }
  18  
  19  $all_tags = array();
  20  foreach($posts as $post_id) {
  21  
  22    $values = array();
  23  
  24    $post_url = $urls[$post_id];
  25    $link_id = $translation[$post_url];
  26  
  27    $post_tags = $wpdb->get_col("SELECT t.name FROM wp_terms t
  28      JOIN wp_term_taxonomy tt ON tt.term_id = t.term_id
  29      JOIN wp_term_relationships tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
  30      WHERE tr.object_id = '$post_id' AND tt.taxonomy = 'post_tag'");
  31  
  32    echo "id $post_id / url $post_url / translation = ".$translation[$post_url];
  33    //echo '<pre>'.print_r($post_tags,1).'</pre>';
  34  
  35    if($post_tags)
  36    foreach($post_tags as $post_tag) {
  37      $post_tag = strtolower($post_tag);
  38      if(!isset($all_tags[$post_tag])) {
  39        $term_info = wp_insert_term($post_tag, 'link_tag');
  40        $all_tags[$post_tag] = $term_info['term_taxonomy_id'];
  41      }
  42      $values[] = $wpdb->prepare( "(%d, %d)", $link_id, $all_tags[$post_tag]);
  43    }
  44    if ( $values )  {
  45      $query = "INSERT IGNORE INTO $wpdb->term_relationships (object_id, term_taxonomy_id) VALUES " . join(',', $values);
  46      //echo "<br />query tags = $query";
  47      //if($run_query)
  48      $wpdb->query($query);
  49  
  50    }
  51  }
  52  
  53    die();
  54  
  55  
  56    /*
  57     // categories
  58     $results = $wpdb->get_results("SELECT t.*, tt.* FROM wp_terms t JOIN wp_term_taxonomy tt ON t.term_id = tt.term_id WHERE tt.taxonomy = 'zelist_category'");
  59     echo "count = ".count($results);
  60  
  61     $categories = array();
  62     $categories_hierarchy = array();
  63     foreach($results as $category) {
  64  
  65     $categories[$category->term_taxonomy_id] = $category;
  66     if(!isset($categories_hierarchy[$category->term_taxonomy_id])) $categories_hierarchy[$category->term_taxonomy_id] = array();
  67     if($category->parent != 0) $categories_hierarchy[$category->parent][] = $category->term_taxonomy_id;
  68     }
  69  
  70     $categories_translation = array();
  71     delete_option('zelist_zelist_categories_translation');
  72     add_option('zelist_zelist_categories_translation',$categories_translation);
  73  
  74     $created = $counter = 0;
  75  
  76     $wpdb->query("TRUNCATE $wpdb->terms");   $wpdb->query("TRUNCATE $wpdb->links");   $wpdb->query("TRUNCATE $wpdb->term_taxonomy");   $wpdb->query("TRUNCATE $wpdb->term_relationships");
  77  
  78     $i = 0;
  79     $log = array();
  80     $max = max(array_keys($categories));
  81  
  82     while(count($categories)) {
  83  
  84     if($i > $max) $i = 0;
  85     echo "<br />$i|".count($categories);
  86  
  87  
  88     // no cat
  89     if(!isset($categories[$i])) {
  90     while(!isset($categories[$i])) $i++;
  91     continue;
  92     }
  93     $category = $categories[$i];
  94  
  95     // already done...
  96     if(isset($categories_translation[$category->term_taxonomy_id])) { unset($categories[$i]); $i++; continue; }
  97  
  98     $parent_true_id = 0;
  99     if($category->parent != 0) {
 100     // parent is not known yet
 101     if(!isset($categories_translation[$category->parent])) { $i++; continue; }
 102     else $parent_true_id = $categories_translation[$category->parent];
 103     }
 104     else $parent_true_id =  0;
 105  
 106     $name = $category->name;
 107     $args = array('parent' => $parent_true_id);
 108     $link_category = false;
 109     $category = $categories[$i];
 110  
 111     $link_category = wp_insert_term( $name, 'link_category', $args);
 112     if(is_wp_error($link_category)) {
 113     echo 'ERREUR ! <pre>'.print_r($link_category,1).'</pre>';
 114     break;
 115     }
 116  
 117     $created++;
 118     echo "<br />name $name / id $category->term_taxonomy_id / parent $parent_true_id (was $category->parent) ===> ".$link_category['term_taxonomy_id'];
 119     $categories_translation[$category->term_taxonomy_id] = $link_category['term_taxonomy_id'];
 120     unset($categories[$i]);
 121     $i++;
 122     }
 123  
 124     update_option('zelist_zelist_categories_translation',$categories_translation);
 125  
 126     echo "<br />created = $created<br />";
 127     echo '<style>
 128     ul#categories ul { padding-left: 15px; }
 129     </style>';
 130  
 131     echo '<ul id="categories">'.wp_list_categories('type=link&echo=0&hide_empty=0&title_li=').'</ul>';
 132  
 133  
 134  
 135     die();
 136  
 137  
 138     // posts
 139     $posts = $wpdb->get_results("SELECT * FROM wp_posts WHERE wp_posts.post_type = 'zelist' ORDER BY wp_posts.ID");
 140     $urls = $wpdb->get_col("SELECT link_url FROM $wpdb->links");
 141  
 142     $run_query = false;
 143     $run_query = true;
 144  
 145     if($posts) {
 146  
 147  
 148     echo "<br />COUNT = ".count($posts);
 149  
 150     $categories_translation = get_option('zelist_zelist_categories_translation');
 151  
 152     $links_translation = get_option('zelist_zelist_links_translation');
 153     echo '<pre>'.print_r($links_translation,1).'</pre>';
 154     die();
 155  
 156  
 157     //if(!$links_translation) {    $links_translation = array();    add_option('zelist_zelist_links_translation',$links_translation);  }
 158     //$known = $added = $users_created = 0;
 159     //$link_stati = array();
 160  
 161     foreach($posts as $post) {
 162  
 163     $post_id = $post->ID;
 164  
 165     /*$metas = array('zelist_rss' => '','zelist_url' => '','zelist_image' => '');
 166     $results = $wpdb->get_results("SELECT meta_key, meta_value FROM wp_postmeta WHERE post_id = '$post_id'");
 167     if($results) {      foreach($results as $meta) {if(substr($meta->meta_key,0,6) == 'zelist') $metas[$meta->meta_key] = $meta->meta_value;      }    }
 168     if(in_array($metas['zelist_url'],$urls)) {
 169     echo "<br />".$metas['zelist_url']." deja connu";
 170     continue;
 171     }
 172  
 173  
 174     $old_category = $wpdb->get_var("SELECT tt.term_taxonomy_id FROM wp_term_taxonomy tt
 175     JOIN wp_term_relationships tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
 176     WHERE tr.object_id = '$post_id' AND tt.taxonomy = 'zelist_category'");
 177     $link_category = $categories_translation[$old_category];
 178     //    echo "<br />old $old_category => $link_category";
 179  
 180     $post_tags = $wpdb->get_col("SELECT t.name FROM wp_terms t
 181     JOIN wp_term_taxonomy tt ON tt.term_id = t.term_id
 182     JOIN wp_term_relationships tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
 183     WHERE tr.object_id = '$post_id' AND tt.taxonomy = 'post_tag'");
 184  
 185     //echo '<pre>'.print_r($post,1).'</pre>';    echo '<pre>'.print_r($metas,1).'</pre>';
 186  
 187  
 188     $linkdata = array();
 189     $linkdata['link_name'] = $post->post_title;
 190     $linkdata['link_url'] = $metas['zelist_url'];
 191     $linkdata['link_image'] = $metas['zelist_image'];
 192     $linkdata['link_description'] = $post->post_content;
 193     $linkdata['link_owner'] = $post->post_author;
 194     $linkdata['link_rss'] = $metas['zelist_rss'];
 195     $linkdata['link_added'] = $post->post_date;
 196  
 197     if($post->post_status == 'publish') $linkdata['link_status'] = 'publish';
 198     elseif($post->post_status == 'pending') $linkdata['link_status'] = 'pending';
 199     elseif($post->post_status == 'draft') $linkdata['link_status'] = 'pending';
 200  
 201     $linkdata['link_visible'] = ($linkdata['link_status'] == 'publish') ? 'Y' : 'N';
 202     $linkdata['link_published'] = ($linkdata['link_status'] == 'publish') ? $linkdata['link_added'] : '';
 203     $linkdata['link_updated'] = $post->post_modified;
 204  
 205     extract($linkdata,EXTR_OVERWRITE);
 206  
 207     $query = $wpdb->prepare(
 208     "INSERT INTO $wpdb->links (
 209     link_url, link_name, link_image, link_target,
 210     link_description, link_visible, link_owner, link_rating,
 211     link_rel, link_notes, link_rss, link_status,
 212     link_added, link_updated) "
 213     ."VALUES("
 214     ."%s, %s, %s, %s, "
 215     ."%s, %s, %s, %s, "
 216     ."%s, %s, %s, %s, "
 217     ."%s, %s)",
 218     $link_url,$link_name, $link_image, $link_target,
 219     $link_description, $link_visible, $link_owner, $link_rating,
 220     $link_rel, $link_notes, $link_rss, $link_status,
 221     $link_added,$link_updated
 222     );
 223  
 224  
 225     //echo '<pre>'.print_r($linkdata,1).'</pre>';
 226     //echo "<br />Q $query";
 227     if($run_query) {
 228     if(!$wpdb->query($query)) {      echo '<pre>'.print_r($wpdb,1).'</pre>';      die();    }
 229     }
 230     $link_id = (int) $wpdb->insert_id;
 231     $added++;
 232  
 233     // categories
 234     if($run_query) $wpdb->insert( $wpdb->term_relationships, array( 'object_id' => $link_id, 'term_taxonomy_id' => $link_category ) );
 235     */
 236    /*
 237     // tags
 238     $link_tags = $values = array();
 239     if($post_tags) {
 240     foreach($post_tags as $post_tag) {
 241     if(!isset($all_tags[$post_tag])) {
 242     $term_info = wp_insert_term($post_tag, 'link_tag');
 243     $all_tags[$post_tag] = $term_info['term_taxonomy_id'];
 244     }
 245     $values[] = $wpdb->prepare( "(%d, %d)", $link_id, $all_tags[$post_tag]);
 246     }
 247     if ( $values )  {
 248     $query = "INSERT IGNORE INTO $wpdb->term_relationships (object_id, term_taxonomy_id) VALUES " . join(',', $values);
 249     //echo "<br />query tags = $query";
 250     if($run_query) $wpdb->query($query);
 251     }
 252  
 253     }
 254  
 255     // metas
 256     ///echo "<br /><br /><strong>METAS </strong>";
 257     foreach($metas as $meta_key => $meta_value) {
 258  
 259     if(in_array($meta_key,array('zelist_rss','zelist_url','zelist_image'))) continue;
 260     $meta_key = substr($meta_key,7);
 261     //echo "<br />$meta_key = $meta_value";
 262     if($run_query) add_link_meta($link_id,$meta_key,$meta_value);
 263     }
 264  
 265     if(!$run_query) break;
 266  
 267  
 268     }
 269     echo "<br />ADDED = $added";
 270  
 271     }*/


Generated: Sat May 30 23:51:06 2009 Cross-referenced by PHPXref 0.7