Make WordPress Core


Ignore:
Timestamp:
06/16/2008 09:08:49 PM (18 years ago)
Author:
mdawaffe
Message:

crazyhorse: merge with trunk [8072:8102]

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/crazyhorse/wp-admin/import/wp-cat2tag.php

    r7897 r8103  
    2525
    2626        function populate_cats() {
    27                 global $wpdb;
    2827
    2928                $categories = get_categories('get=all');
    3029                foreach ( $categories as $category ) {
    3130                        $this->all_categories[] = $category;
    32                         if ( tag_exists( $wpdb->escape($category->name) ) )
     31                        if ( is_term( $category->slug, 'post_tag' ) )
    3332                                $this->hybrids_ids[] = $category->term_id;
    3433                }
     
    3635
    3736        function populate_tags() {
    38                 global $wpdb;
    3937
    4038                $tags = get_terms( array('post_tag'), 'get=all' );
    4139                foreach ( $tags as $tag ) {
    4240                        $this->all_tags[] = $tag;
    43                         if ( $this->_category_exists($tag->term_id) )
     41                        if ( is_term( $tag->slug, 'category' ) )
    4442                                $this->hybrids_ids[] = $tag->term_id;
    4543                }
     
    5351
    5452                if ( $cat_num > 0 ) {
    55                         echo '<h2>Convert Categories (' . $cat_num . ') to Tags.</h2>';
     53                        echo '<h2>' . sprintf( __ngettext( 'Convert Category to Tag.', 'Convert Categories (%d) to Tags.', $cat_num ), $cat_num ) . '</h2>';
    5654                        echo '<div class="narrow">';
    5755                        echo '<p>' . __('Hey there. Here you can selectively converts existing categories to tags. To get started, check the categories you wish to be converted, then click the Convert button.') . '</p>';
     
    5957
    6058                        $this->categories_form();
    61                 } elseif ( $hyb_num > 0 ) {
    62                          echo '<p>' . __('You have no categories that can be converted. However some of your categories are both a tag and a category.') . '</p>';
    6359                } else {
    6460                        echo '<p>'.__('You have no categories to convert!').'</p>';
     
    9389
    9490<form name="catlist" id="catlist" action="admin.php?import=wp-cat2tag&amp;step=2" method="post">
    95 <p><input type="button" class="button-secondary" value="<?php _e('Check All'); ?>" onclick="this.value=check_all_rows()">
     91<p><input type="button" class="button-secondary" value="<?php _e('Check All'); ?>" onclick="this.value=check_all_rows()" />
    9692<?php wp_nonce_field('import-cat2tag'); ?></p>
    9793<ul style="list-style:none">
    98 <?php
    99                 $hier = _get_term_hierarchy('category');
     94
     95<?php   $hier = _get_term_hierarchy('category');
    10096
    10197                foreach ($this->all_categories as $category) {
    10298                        $category = sanitize_term( $category, 'category', 'display' );
    10399
    104                         if ( (int) $category->parent == 0 ) {
    105                                 if ( in_array( intval($category->term_id),  $this->hybrids_ids ) ) {
    106 ?>
    107         <li style="color:#777;padding-left:1.3em;"><?php echo $category->name . ' (' . $category->count . ') *'; ?></li>
    108 <?php
    109                                 } else {
    110 ?>
     100                        if ( (int) $category->parent == 0 ) { ?>
     101
    111102        <li><label><input type="checkbox" name="cats_to_convert[]" value="<?php echo intval($category->term_id); ?>" /> <?php echo $category->name . ' (' . $category->count . ')'; ?></label><?php
    112103
    113                                         if ( isset($hier[$category->term_id]) )
    114                                                 $this->_category_children($category, $hier);
    115 ?></li>
    116 <?php
    117                                 }
    118                         }
    119                 }
    120 ?>
     104                                 if ( in_array( intval($category->term_id),  $this->hybrids_ids ) )
     105                                        echo ' <a href="#note"> * </a>';
     106                               
     107                                if ( isset($hier[$category->term_id]) )
     108                                        $this->_category_children($category, $hier); ?></li>
     109<?php           }
     110                } ?>
    121111</ul>
    122112
    123 <?php
    124                 if ( ! empty($this->hybrids_ids) ) {
    125                         echo '<p>' . __('* This category is also a tag. It cannot be convert again.') . '</p>';
    126                 }
    127 ?>
     113<?php   if ( ! empty($this->hybrids_ids) )
     114                        echo '<p><a name="note"></a>' . __('* This category is also a tag. Converting it will add that tag to all posts that are currently in the category.') . '</p>'; ?>
     115
    128116<p class="submit"><input type="submit" name="submit" class="button" value="<?php _e('Convert Categories to Tags'); ?>" /></p>
    129117</form>
    130118
    131 <?php
    132         }
     119<?php }
    133120
    134121        function tags_tab() {
     
    139126
    140127                if ( $tags_num > 0 ) {
    141                         echo '<h2>Convert Tags (' . $tags_num . ') to Categories.</h2>';
     128                        echo '<h2>' . sprintf( __ngettext( 'Convert Tag to Category.', 'Convert Tags (%d) to Categories.', $tags_num ), $tags_num ) . '</h2>';
    142129                        echo '<div class="narrow">';
    143130                        echo '<p>' . __('Here you can selectively converts existing tags to categories. To get started, check the tags you wish to be converted, then click the Convert button.') . '</p>';
    144131                        echo '<p>' . __('The newly created categories will still be associated with the same posts.') . '</p></div>';
    145                        
    146                        
     132
    147133                        $this->tags_form();
    148                 } elseif ( $hyb_num > 0 ) {
    149                          echo '<p>' . __('You have no tags that can be converted. However some of your tags are both a tag and a category.') . '</p>';
    150134                } else {
    151135                        echo '<p>'.__('You have no tags to convert!').'</p>';
     
    180164
    181165<form name="taglist" id="taglist" action="admin.php?import=wp-cat2tag&amp;step=4" method="post">
    182 <p><input type="button" class="button-secondary" value="<?php _e('Check All'); ?>" onclick="this.value=check_all_tagrows()">
     166<p><input type="button" class="button-secondary" value="<?php _e('Check All'); ?>" onclick="this.value=check_all_tagrows()" />
    183167<?php wp_nonce_field('import-cat2tag'); ?></p>
    184168<ul style="list-style:none">
    185 <?php
    186                 foreach ( $this->all_tags as $tag ) {
    187                         if ( in_array( intval($tag->term_id),  $this->hybrids_ids ) ) {
    188 ?>
    189         <li style="color:#777;padding-left:1.3em;"><?php echo attribute_escape($tag->name) . ' (' . $tag->count . ') *'; ?></li>
    190 <?php
    191                         } else {
    192 ?>
    193         <li><label><input type="checkbox" name="tags_to_convert[]" value="<?php echo intval($tag->term_id); ?>" /> <?php echo attribute_escape($tag->name) . ' (' . $tag->count . ')'; ?></label></li>
    194 
    195 <?php
    196                         }
    197                 }
    198 ?>
     169
     170<?php   foreach ( $this->all_tags as $tag ) { ?>
     171        <li><label><input type="checkbox" name="tags_to_convert[]" value="<?php echo intval($tag->term_id); ?>" /> <?php echo attribute_escape($tag->name) . ' (' . $tag->count . ')'; ?></label><?php if ( in_array( intval($tag->term_id),  $this->hybrids_ids ) ) echo ' <a href="#note"> * </a>'; ?></li>
     172
     173<?php   } ?>
    199174</ul>
    200175
    201 <?php   
    202                 if ( ! empty($this->hybrids_ids) )
    203                         echo '<p>' . __('* This tag is also a category. It cannot be converted again.') . '</p>';
    204 ?>
     176<?php   if ( ! empty($this->hybrids_ids) )
     177                        echo '<p><a name="note"></a>' . __('* This tag is also a category. When converted, all posts associated with the tag will also be in the category.') . '</p>'; ?>
    205178
    206179<p class="submit"><input type="submit" name="submit_tags" class="button" value="<?php _e('Convert Tags to Categories'); ?>" /></p>
    207180</form>
    208181
    209 <?php
    210         }
    211 
    212         function _category_children($parent, $hier) {
    213 ?>
     182<?php }
     183
     184        function _category_children($parent, $hier) { ?>
    214185
    215186                <ul style="list-style:none">
    216 <?php
    217                 foreach ($hier[$parent->term_id] as $child_id) {
    218                         $child =& get_category($child_id);
    219                        
    220                         if ( in_array( intval($child->term_id), $this->hybrids_ids ) ) {
    221 ?>
    222                 <li style="color:#777;padding-left:1.3em;"><?php echo $child->name . ' (' . $child->count . ') *'; ?></li>
    223 <?php
    224                         } else {
    225 ?>
    226                 <li><label><input type="checkbox" name="cats_to_convert[]" value="<?php echo intval($child->term_id); ?>" /> <?php echo $child->name . ' (' . $child->count . ')'; ?></label>
    227 <?php
     187<?php   foreach ($hier[$parent->term_id] as $child_id) {
     188                        $child =& get_category($child_id); ?>
     189                <li><label><input type="checkbox" name="cats_to_convert[]" value="<?php echo intval($child->term_id); ?>" /> <?php echo $child->name . ' (' . $child->count . ')'; ?></label><?php
     190
     191                        if ( in_array( intval($child->term_id), $this->hybrids_ids ) )
     192                                echo ' <a href="#note"> * </a>';
    228193
    229194                        if ( isset($hier[$child->term_id]) )
    230                                 $this->_category_children($child, $hier);
    231 ?>              </li>
    232 <?php
    233                         }
    234                 }
    235 ?>
    236                 </ul>
    237 <?php
     195                                $this->_category_children($child, $hier); ?></li>
     196<?php   } ?>
     197                </ul><?php
    238198        }
    239199
     
    253213                global $wpdb;
    254214
    255                 if ( (!isset($_POST['cats_to_convert']) || !is_array($_POST['cats_to_convert'])) && empty($this->categories_to_convert)) {
    256                         echo '<div class="narrow">';
    257                         echo '<p>' . sprintf(__('Uh, oh. Something didn&#8217;t work. Please <a href="%s">try again</a>.'), 'admin.php?import=wp-cat2tag') . '</p>';
    258                         echo '</div>';
    259                         return;
     215                if ( (!isset($_POST['cats_to_convert']) || !is_array($_POST['cats_to_convert'])) && empty($this->categories_to_convert)) { ?>
     216                        <div class="narrow">
     217                        <p><?php printf(__('Uh, oh. Something didn&#8217;t work. Please <a href="%s">try again</a>.'), 'admin.php?import=wp-cat2tag'); ?></p>
     218                        </div>
     219<?php           return;
    260220                }
    261221
    262222                if ( empty($this->categories_to_convert) )
    263223                        $this->categories_to_convert = $_POST['cats_to_convert'];
     224
    264225                $hier = _get_term_hierarchy('category');
     226                $hybrid_cats = $clear_parents = $parents = false;
     227                $clean_term_cache = $clean_cat_cache = array();
     228                $default_cat = get_option('default_category');
    265229
    266230                echo '<ul>';
     
    269233                        $cat_id = (int) $cat_id;
    270234
    271                         echo '<li>' . sprintf(__('Converting category #%s ... '),  $cat_id);
    272 
    273                         if (!$this->_category_exists($cat_id)) {
    274                                 _e('Category doesn\'t exist!');
     235                        if ( ! $this->_category_exists($cat_id) ) {
     236                                echo '<li>' . sprintf( __('Category %s doesn\'t exist!'),  $cat_id ) . "</li>\n";
    275237                        } else {
    276238                                $category =& get_category($cat_id);
    277 
    278                                 if ( tag_exists($wpdb->escape($category->name)) ) {
    279                                         _e('Category is already a tag.');
    280                                         echo '</li>';
     239                                echo '<li>' . sprintf(__('Converting category <strong>%s</strong> ... '),  $category->name);
     240
     241                                // If the category is the default, leave category in place and create tag.
     242                                if ( $default_cat == $category->term_id ) {
     243
     244                                        if ( ! ($id = is_term( $category->slug, 'post_tag' ) ) )
     245                                                $id = wp_insert_term($category->name, 'post_tag', array('slug' => $category->slug));
     246                                       
     247                                        $id = $id['term_taxonomy_id'];
     248                                        $posts = get_objects_in_term($category->term_id, 'category');
     249                                        $term_order = 0;
     250
     251                                        foreach ( $posts as $post ) {
     252                                                $values[] = $wpdb->prepare( "(%d, %d, %d)", $post, $id, $term_order);
     253                                                clean_post_cache($post);
     254                                        }
     255                                       
     256                                        if ( $values ) {
     257                                                $wpdb->query("INSERT INTO $wpdb->term_relationships (object_id, term_taxonomy_id, term_order) VALUES " . join(',', $values) . " ON DUPLICATE KEY UPDATE term_order = VALUES(term_order)");
     258
     259                                                $wpdb->query( $wpdb->prepare("UPDATE $wpdb->term_taxonomy SET count = %d WHERE term_id = %d AND taxonomy = 'post_tag'", $category->count, $category->term_id) );
     260                                        }
     261
     262                                        echo __('Converted successfully.') . "</li>\n";
    281263                                        continue;
    282264                                }
    283 
    284                                 // If the category is the default, leave category in place and create tag.
    285                                 if ( get_option('default_category') == $category->term_id ) {
    286                                         $id = wp_insert_term($category->name, 'post_tag', array('slug' => $category->slug));
    287                                         $id = $id['term_taxonomy_id'];
    288                                         $posts = get_objects_in_term($category->term_id, 'category');
    289                                         foreach ( $posts as $post ) {
    290                                                 if ( !$wpdb->get_var( $wpdb->prepare("SELECT object_id FROM $wpdb->term_relationships WHERE object_id = %d AND term_taxonomy_id = %d", $post, $id) ) )
    291                                                         $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->term_relationships (object_id, term_taxonomy_id) VALUES (%d, %d)", $post, $id) );
     265                               
     266                                // if tag already exists, add it to all posts in the category
     267                                if ( $tag_ttid = $wpdb->get_var( $wpdb->prepare("SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE term_id = %d AND taxonomy = 'post_tag'", $category->term_id) ) ) {
     268                                        $objects_ids = get_objects_in_term($category->term_id, 'category');
     269                                        $tag_ttid = (int) $tag_ttid;
     270                                        $term_order = 0;
     271
     272                                        foreach ( $objects_ids as $object_id )
     273                                                $values[] = $wpdb->prepare( "(%d, %d, %d)", $object_id, $tag_ttid, $term_order);
     274
     275                                        if ( $values ) {
     276                                                $wpdb->query("INSERT INTO $wpdb->term_relationships (object_id, term_taxonomy_id, term_order) VALUES " . join(',', $values) . " ON DUPLICATE KEY UPDATE term_order = VALUES(term_order)");
     277
     278                                                $count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(*) FROM $wpdb->term_relationships WHERE term_taxonomy_id = %d", $tag_ttid) );
     279                                                $wpdb->query( $wpdb->prepare("UPDATE $wpdb->term_taxonomy SET count = %d WHERE term_id = %d AND taxonomy = 'post_tag'", $count, $category->term_id) );
     280                                        }
     281                                        echo __('Tag added to all posts in this category.') . " *</li>\n";
     282
     283                                        $hybrid_cats = true;
     284                                        $clean_term_cache[] = $category->term_id;
     285                                        $clean_cat_cache[] = $category->term_id;
     286
     287                                        continue;
     288                                }
     289
     290                                $tt_ids = $wpdb->get_col( $wpdb->prepare("SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE term_id = %d AND taxonomy = 'category'", $category->term_id) );
     291                                if ( $tt_ids ) {
     292                                        $posts = $wpdb->get_col("SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id IN (" . join(',', $tt_ids) . ") GROUP BY object_id");
     293                                        foreach ( (array) $posts as $post )
    292294                                                clean_post_cache($post);
    293                                         }
    294                                 } else {
    295                                         $tt_ids = $wpdb->get_col( $wpdb->prepare("SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE term_id = %d AND taxonomy = 'category'", $category->term_id) );
    296                                         if ( $tt_ids ) {
    297                                                 $posts = $wpdb->get_col("SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id IN (" . join(',', $tt_ids) . ") GROUP BY object_id");
    298                                                 foreach ( (array) $posts as $post )
    299                                                         clean_post_cache($post);
    300                                         }
    301 
    302                                         // Change the category to a tag.
    303                                         $wpdb->query( $wpdb->prepare("UPDATE $wpdb->term_taxonomy SET taxonomy = 'post_tag' WHERE term_id = %d AND taxonomy = 'category'", $category->term_id) );
    304 
    305                                         $terms = $wpdb->get_col( $wpdb->prepare("SELECT term_id FROM $wpdb->term_taxonomy WHERE parent = %d AND taxonomy = 'category'", $category->term_id) );
    306                                         foreach ( (array) $terms as $term )
    307                                                 clean_category_cache($term);
    308 
    309                                         // Set all parents to 0 (root-level) if their parent was the converted tag
    310                                         $wpdb->query( $wpdb->prepare("UPDATE $wpdb->term_taxonomy SET parent = 0 WHERE parent = %d AND taxonomy = 'category'", $category->term_id) );
    311295                                }
    312                                 // Clean the cache
    313                                 clean_category_cache($category->term_id);
    314 
    315                                 _e('Converted successfully.');
     296
     297                                // Change the category to a tag.
     298                                $wpdb->query( $wpdb->prepare("UPDATE $wpdb->term_taxonomy SET taxonomy = 'post_tag' WHERE term_id = %d AND taxonomy = 'category'", $category->term_id) );
     299
     300                                // Set all parents to 0 (root-level) if their parent was the converted tag
     301                                $parents = $wpdb->query( $wpdb->prepare("UPDATE $wpdb->term_taxonomy SET parent = 0 WHERE parent = %d AND taxonomy = 'category'", $category->term_id) );
     302
     303                                if ( $parents ) $clear_parents = true;
     304                                $clean_cat_cache[] = $category->term_id;
     305                                echo __('Converted successfully.') . "</li>\n";
    316306                        }
    317 
    318                         echo '</li>';
    319                 }
    320 
     307                }
    321308                echo '</ul>';
     309
     310                if ( ! empty($clean_term_cache) ) {
     311                        $clean_term_cache = array_unique(array_values($clean_term_cache));
     312                        foreach ( $clean_term_cache as $id )
     313                                wp_cache_delete($id, 'post_tag');
     314                }
     315
     316                if ( ! empty($clean_cat_cache) ) {
     317                        $clean_cat_cache = array_unique(array_values($clean_cat_cache));
     318                        foreach ( $clean_cat_cache as $id )
     319                                wp_cache_delete($id, 'category');
     320                }
     321
     322                if ( $clear_parents ) delete_option('category_children');
     323
     324                if ( $hybrid_cats )
     325                        echo '<p>' . sprintf( __('* This category is also a tag. The converter has added that tag to all posts currently in the category. If you want to remove it, please confirm that all tags were added successfully, then delete it from the <a href="%s">Manage Categories</a> page.'), 'categories.php') . '</p>';
    322326                echo '<p>' . sprintf( __('We&#8217;re all done here, but you can always <a href="%s">convert more</a>.'), 'admin.php?import=wp-cat2tag' ) . '</p>';
    323327        }
     
    333337                }
    334338
    335                 if ( empty($this->categories_to_convert) )
     339                if ( empty($this->tags_to_convert) )
    336340                        $this->tags_to_convert = $_POST['tags_to_convert'];
    337341
    338                 $clean_cache = array();
     342                $hybrid_tags = $clear_parents = false;
     343                $clean_cat_cache = $clean_term_cache = array();
     344                $default_cat = get_option('default_category');
    339345                echo '<ul>';
    340346
     
    342348                        $tag_id = (int) $tag_id;
    343349
    344                         echo '<li>' . sprintf(__('Converting tag #%s ... '),  $tag_id);
    345 
    346                         if ( ! is_term($tag_id, 'post_tag') ) {
    347                                 _e('Tag doesn\'t exist!');
    348                         } else {
    349 
    350                                 if ( is_term($tag_id, 'category') ) {
    351                                         _e('This Tag is already a Category.');
    352                                         echo '</li>';
     350                        if ( $tag = get_term( $tag_id, 'post_tag' ) ) {
     351                                printf('<li>' . __('Converting tag <strong>%s</strong> ... '),  $tag->name);
     352
     353                                if ( $cat_ttid = $wpdb->get_var( $wpdb->prepare("SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE term_id = %d AND taxonomy = 'category'", $tag->term_id) ) ) {
     354                                        $objects_ids = get_objects_in_term($tag->term_id, 'post_tag');
     355                                        $cat_ttid = (int) $cat_ttid;
     356                                        $term_order = 0;
     357
     358                                        foreach ( $objects_ids as $object_id ) {
     359                                                $values[] = $wpdb->prepare( "(%d, %d, %d)", $object_id, $cat_ttid, $term_order);
     360                                                clean_post_cache($object_id);
     361                                        }
     362
     363                                        if ( $values ) {
     364                                                $wpdb->query("INSERT INTO $wpdb->term_relationships (object_id, term_taxonomy_id, term_order) VALUES " . join(',', $values) . " ON DUPLICATE KEY UPDATE term_order = VALUES(term_order)");
     365
     366                                                if ( $default_cat != $tag->term_id ) {
     367                                                        $count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(*) FROM $wpdb->term_relationships WHERE term_taxonomy_id = %d", $tag->term_id) );
     368                                                        $wpdb->query( $wpdb->prepare("UPDATE $wpdb->term_taxonomy SET count = %d WHERE term_id = %d AND taxonomy = 'category'", $count, $tag->term_id) );
     369                                                }
     370                                        }
     371
     372                                        $hybrid_tags = true;
     373                                        $clean_term_cache[] = $tag->term_id;
     374                                        $clean_cat_cache[] = $tag->term_id;
     375                                        echo __('All posts were added to the category with the same name.') . " *</li>\n";
     376
    353377                                        continue;
    354378                                }
    355379
    356                                 $tt_ids = $wpdb->get_col( $wpdb->prepare("SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE term_id = %d AND taxonomy = 'post_tag'", $tag_id) );
    357                                 if ( $tt_ids ) {
    358                                                 $posts = $wpdb->get_col("SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id IN (" . join(',', $tt_ids) . ") GROUP BY object_id");
    359                                         foreach ( (array) $posts as $post )
    360                                                 clean_post_cache($post);
    361                                 }
    362 
    363380                                // Change the tag to a category.
    364                                 $parent = $wpdb->get_var( $wpdb->prepare("SELECT parent FROM $wpdb->term_taxonomy WHERE term_id = %d AND taxonomy = 'post_tag'", $tag_id) );
    365                                 if ( 0 == $parent || (0 < (int) $parent && $this->_category_exists($parent)) )
     381                                $parent = $wpdb->get_var( $wpdb->prepare("SELECT parent FROM $wpdb->term_taxonomy WHERE term_id = %d AND taxonomy = 'post_tag'", $tag->term_id) );
     382                                if ( 0 == $parent || (0 < (int) $parent && $this->_category_exists($parent)) ) {
    366383                                        $reset_parent = '';
    367                                 else $reset_parent = ", parent = '0'";
    368 
    369                                 $wpdb->query( $wpdb->prepare("UPDATE $wpdb->term_taxonomy SET taxonomy = 'category' $reset_parent WHERE term_id = %d AND taxonomy = 'post_tag'", $tag_id) );
    370 
    371                                 // Clean the cache
    372                                 $clean_cache[] = $tag_id;
    373 
    374                                 _e('Converted successfully.');
     384                                        $clear_parents = true;
     385                                } else
     386                                        $reset_parent = ", parent = '0'";
     387
     388                                $wpdb->query( $wpdb->prepare("UPDATE $wpdb->term_taxonomy SET taxonomy = 'category' $reset_parent WHERE term_id = %d AND taxonomy = 'post_tag'", $tag->term_id) );
     389
     390                                $clean_term_cache[] = $tag->term_id;
     391                                $clean_cat_cache[] = $cat['term_id'];
     392                                echo __('Converted successfully.') . "</li>\n";
     393
     394                        } else {
     395                                printf( '<li>' . __('Tag #%s doesn\'t exist!') . "</li>\n",  $tag_id );
    375396                        }
    376 
    377                         echo '</li>';
    378                 }
    379 
    380                 clean_term_cache( $clean_cache, 'post_tag' );
    381                 delete_option('category_children');
    382                
     397                }
     398
     399                if ( ! empty($clean_term_cache) ) {
     400                        $clean_term_cache = array_unique(array_values($clean_term_cache));
     401                        foreach ( $clean_term_cache as $id )
     402                                wp_cache_delete($id, 'post_tag');
     403                }
     404
     405                if ( ! empty($clean_cat_cache) ) {
     406                        $clean_cat_cache = array_unique(array_values($clean_cat_cache));
     407                        foreach ( $clean_cat_cache as $id )
     408                                wp_cache_delete($id, 'category');
     409                }
     410
     411                if ( $clear_parents ) delete_option('category_children');
     412
    383413                echo '</ul>';
     414                if ( $hybrid_tags )
     415                        echo '<p>' . sprintf( __('* This tag is also a category. The converter has added all posts from it to the category. If you want to remove it, please confirm that all posts were added successfully, then delete it from the <a href="%s">Manage Tags</a> page.'), 'edit-tags.php') . '</p>';
    384416                echo '<p>' . sprintf( __('We&#8217;re all done here, but you can always <a href="%s">convert more</a>.'), 'admin.php?import=wp-cat2tag&amp;step=3' ) . '</p>';
    385417        }
     
    402434                                        $this->convert_categories();
    403435                                break;
    404                                
     436
    405437                                case 3 :
    406438                                        $this->tags_tab();
    407439                                break;
    408                                
     440
    409441                                case 4 :
    410442                                        check_admin_referer('import-cat2tag');
Note: See TracChangeset for help on using the changeset viewer.