WordPress.org

Make WordPress Core

Ticket #5059: clean_stp_tags_importer.patch

File clean_stp_tags_importer.patch, 4.3 KB (added by momo360modena, 11 years ago)
  • stp.php

     
    11<?php
    2 
    32class STP_Import {
    4 
    53        function header()  {
    64                echo '<div class="wrap">';
    75                echo '<h2>'.__('Import Simple Tagging').'</h2>';
     
    1917                echo '<p>'.__('To accommodate larger databases for those tag-crazy authors out there, we have made this into an easy 4-step program to help you kick that nasty Simple Tagging habit. Just keep clicking along and we will let you know when you are in the clear!').'</p>';
    2018                echo '<p><strong>'.__('Don&#8217;t be stupid - backup your database before proceeding!').'</strong></p>';
    2119                echo '<form action="admin.php?import=stp&amp;step=1" method="post">';
    22                 wp_nonce_field('import-utw');
     20                wp_nonce_field('import-stp');
    2321                echo '<p class="submit"><input type="submit" name="submit" value="'.__('Step 1 &raquo;').'" /></p>';
    2422                echo '</form>';
    2523                echo '</div>';
    2624        }
    2725
    28 
    2926        function dispatch () {
    3027                if ( empty( $_GET['step'] ) ) {
    3128                        $step = 0;
    3229                } else {
    3330                        $step = (int) $_GET['step'];
    3431                }
    35 
    3632                // load the header
    3733                $this->header();
    38 
    3934                switch ( $step ) {
    4035                        case 0 :
    4136                                $this->greet();
    4237                                break;
    4338                        case 1 :
    44                                 check_admin_referer('import-utw');
     39                                check_admin_referer('import-stp');
    4540                                $this->import_posts();
    4641                                break;
    4742                        case 2:
    48                                 check_admin_referer('import-utw');
     43                                check_admin_referer('import-stp');
    4944                                $this->import_t2p();
    5045                                break;
    5146                        case 3:
    52                                 check_admin_referer('import-utw');
     47                                check_admin_referer('import-stp');
    5348                                $this->cleanup_import();
    5449                                break;
    5550                }
    56 
    5751                // load the footer
    5852                $this->footer();
    5953        }
     
    7266                        return false;
    7367                }
    7468                else {
    75 
    7669                        // if there's an existing entry, delete it
    7770                        if ( get_option('stpimp_posts') ) {
    7871                                delete_option('stpimp_posts');
    7972                        }
    80 
     73                       
    8174                        add_option('stpimp_posts', $posts);
    82 
    83 
    8475                        $count = count($posts);
    85 
    8676                        echo '<p>' . sprintf( __('Done! <strong>%s</strong> tag to post relationships were read.'), $count ) . '<br /></p>';
    87 
    8877                }
    8978
    9079                echo '<form action="admin.php?import=stp&amp;step=2" method="post">';
    91                 wp_nonce_field('import-utw');
     80                wp_nonce_field('import-stp');
    9281                echo '<p class="submit"><input type="submit" name="submit" value="'.__('Step 2 &raquo;').'" /></p>';
    9382                echo '</form>';
    9483                echo '</div>';
    95 
    9684        }
    9785
    9886
    9987        function import_t2p ( ) {
    100 
    10188                echo '<div class="narrow">';
    10289                echo '<p><h3>'.__('Adding Tags to Posts&#8230;').'</h3></p>';
    103 
     90               
    10491                // run that funky magic!
    10592                $tags_added = $this->tag2post();
    106 
     93               
    10794                echo '<p>' . sprintf( __('Done! <strong>%s</strong> tags where added!'), $tags_added ) . '<br /></p>';
    108 
    10995                echo '<form action="admin.php?import=stp&amp;step=3" method="post">';
    110                 wp_nonce_field('import-utw');
     96                wp_nonce_field('import-stp');
    11197                echo '<p class="submit"><input type="submit" name="submit" value="'.__('Step 3 &raquo;').'" /></p>';
    11298                echo '</form>';
    11399                echo '</div>';
    114 
    115100        }
    116101
    117 
    118102        function get_stp_posts ( ) {
    119 
    120103                global $wpdb;
    121 
    122104                // read in all the posts from the STP post->tag table: should be wp_post2tag
    123105                $posts_query = "SELECT post_id, tag_name FROM " . $wpdb->prefix . "stp_tags";
    124 
    125106                $posts = $wpdb->get_results($posts_query);
    126 
    127107                return $posts;
    128 
    129108        }
    130109
    131 
    132110        function tag2post ( ) {
    133111                global $wpdb;
    134112
     
    142120                foreach ( $posts as $this_post ) {
    143121                        $the_post = (int) $this_post->post_id;
    144122                        $the_tag = $wpdb->escape($this_post->tag_name);
    145 
    146123                        // try to add the tag
    147124                        wp_add_post_tags($the_post, $the_tag);
    148 
    149125                        $tags_added++;
    150 
    151126                }
    152127
    153128                // that's it, all posts should be linked to their tags properly, pending any errors we just spit out!
    154129                return $tags_added;
    155 
    156 
    157130        }
    158131
    159 
    160132        function cleanup_import ( ) {
    161 
    162133                delete_option('stpimp_posts');
    163 
    164134                $this->done();
    165 
    166135        }
    167136
    168 
    169137        function done ( ) {
    170 
    171138                echo '<div class="narrow">';
    172139                echo '<p><h3>'.__('Import Complete!').'</h3></p>';
    173 
    174140                echo '<p>' . __('OK, so we lied about this being a 4-step program! You&#8217;re done!') . '</p>';
    175 
    176141                echo '<p>' . __('Now wasn&#8217;t that easy?') . '</p>';
    177 
    178142                echo '</div>';
    179 
    180143        }
    181144
    182 
    183145        function STP_Import ( ) {
    184 
    185146                // Nothing.
    186 
    187147        }
    188 
    189148}
    190149
    191 
    192150// create the import object
    193151$stp_import = new STP_Import();
    194152
    195153// add it to the import page!
    196154register_importer('stp', 'Simple Tagging', __('Import Simple Tagging tags into the new native tagging structure.'), array($stp_import, 'dispatch'));
    197 
    198 ?>
     155?>
     156 No newline at end of file