Make WordPress Core

Changeset 3240


Ignore:
Timestamp:
11/30/2005 07:13:20 AM (20 years ago)
Author:
ryan
Message:

Textpattern importer changes from Aaron Brazell. fixes #1944

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/import/textpattern.php

    r3236 r3240  
    11<?php
    2 
    3 /*
    4 This Import Script is written by Aaron Brazell of Technosailor.com
    5 
    6 It was developed using a large blog running Textpattern 4.0.2 and
    7   successfully imported nearly 3000 records at a time.  Higher
    8   scalability is uncertain.
    9  
    10   BACKUP YOUR DATABASE PRIOR TO RUNNING THIS IMPORT SCRIPT
    11 */
    12 
    13 // BEGIN EDITING
    14 
    15 // $txpconfig options can be found in the Textpattern %textpattern%/config.php file
    16 $txpcfg['db'] = 'textpattern';
    17 $txpcfg['user'] = 'root';
    18 $txpcfg['pass'] = '';
    19 $txpcfg['host'] = 'localhost';
    20 $txpcfg['table_prefix'] = '';
    21 
    22 // STOP EDITING
    23 
    242/**
    253    Add These Functions to make our lives easier
     
    6139class Textpattern_Import {
    6240
    63     var $posts = array ();
    64     var $file;
    65 
    6641    function header()
    6742    {
    6843        echo '<div class="wrap">';
    6944        echo '<h2>'.__('Import Textpattern').'</h2>';
     45        echo '<p>'.__('Steps may take a few minutes depending on the size of your database. Please be patient.</p>');
    7046    }
    7147
     
    7753    function greet()
    7854    {
    79         global $txpcfg;
    80        
    8155        _e('<p>Howdy! This importer allows you to extract posts from any Textpattern 4.0.2+ into your blog. This has not been tested on previous versions of Textpattern.  Mileage may vary.</p>');
    8256        _e('<p>Your Textpattern Configuration settings are as follows:</p>');
    83         _e('<ul><li><strong>Textpattern Database Name:</strong> '.$txpcfg['db'].'</li>');
    84         _e('<li><strong>Textpattern Database User:</strong> '.$txpcfg['user'].'</li>');
    85         _e('<li><strong>Textpattern Database Password:</strong> '.$txpcfg['pass'].'</li>');
    86         _e('<li><strong>Textpattern Database Host:</strong> '.$txpcfg['host'].'</li>');
    87         _e('</ul>');
    88         _e('<p>If this is incorrect, please modify settings in wp-admin/import/textpattern.php</p>');
    8957        _e('<form action="admin.php?import=textpattern&amp;step=1" method="post">');
     58        $this->db_form();
    9059        _e('<input type="submit" name="submit" value="Import Categories" />');
    9160        _e('</form>');
     
    9564    {
    9665        //General Housekeeping
    97         global $txpdb;
     66        $txpdb = new wpdb(get_option('txpuser'), get_option('txppass'), get_option('txpname'), get_option('txphost'));
    9867        set_magic_quotes_runtime(0);
    9968        $prefix = get_option('tpre');
     
    10877                                      FROM '.$prefix.'txp_link',
    10978                                      ARRAY_A);                       
    110                                       echo'SELECT
    111                                         id,
    112                                         date,
    113                                         category,
    114                                         url,
    115                                         linkname,
    116                                         description
    117                                       FROM '.$prefix.'txp_link';
    11879    }
    11980   
    12081    function get_txp_cats()
    12182    {
    122        
    123         // General Housekeeping
    124         global $txpdb;
     83        global $wpdb;
     84        // General Housekeeping
     85        $txpdb = new wpdb(get_option('txpuser'), get_option('txppass'), get_option('txpname'), get_option('txphost'));
    12586        set_magic_quotes_runtime(0);
    12687        $prefix = get_option('tpre');
     
    13697    }
    13798   
     99    function get_txp_users()
     100    {
     101        global $wpdb;
     102        // General Housekeeping
     103        $txpdb = new wpdb(get_option('txpuser'), get_option('txppass'), get_option('txpname'), get_option('txphost'));
     104        set_magic_quotes_runtime(0);
     105        $prefix = get_option('tpre');
     106       
     107        // Get Users
     108       
     109        return $txpdb->get_results('SELECT
     110                                        user_id,
     111                                        name,
     112                                        RealName,
     113                                        email,
     114                                        privs
     115                                    FROM '.$prefix.'txp_users', ARRAY_A);
     116    }
     117   
    138118    function get_txp_posts()
    139119    {
    140120        // General Housekeeping
    141         global $txpdb;
     121        $txpdb = new wpdb(get_option('txpuser'), get_option('txppass'), get_option('txpname'), get_option('txphost'));
    142122        set_magic_quotes_runtime(0);
    143123        $prefix = get_option('tpre');
     
    157137                                        Keywords,
    158138                                        url_title,
    159                                         comments_count,
    160                                         ADDDATE(Posted, "INTERVAL '.get_settings('gmt_offset').' HOURS") AS post_date_gmt,
    161                                         ADDDATE(LastMod, "INTERVAL '.get_settings('gmt_offset').' HOURS") AS post_modified_gmt
     139                                        comments_count
    162140                                    FROM '.$prefix.'textpattern
    163141                                    ', ARRAY_A);
     
    166144    function get_txp_comments()
    167145    {
    168         // General Housekeeping
    169         global $txpdb;
     146        global $wpdb;
     147        // General Housekeeping
     148        $txpdb = new wpdb(get_option('txpuser'), get_option('txppass'), get_option('txpname'), get_option('txphost'));
    170149        set_magic_quotes_runtime(0);
    171150        $prefix = get_option('tpre');
     
    175154    }
    176155   
    177     function get_txp_users()
    178     {
    179         // General Housekeeping
    180         global $txpdb;
    181         set_magic_quotes_runtime(0);
    182         $prefix = get_option('tpre');
    183        
    184         // Get Users
    185         $users = $txpdb->get_results('SELECT
    186                                         user_id,
    187                                         name,
    188                                         RealName,
    189                                         email,
    190                                         privs
    191                                     FROM '.$prefix.'txp_users', ARRAY_A);
    192         return $users;
    193     }
    194156   
    195157    function links2wp($links='')
     
    240202            return true;
    241203        }
    242         echo 'No Links to Import!';
     204        echo __('No Links to Import!');
    243205        return false;
    244206    }
     
    313275        }// End if(is_array($users)
    314276       
    315         echo 'No Users to Import!';
     277        echo __('No Users to Import!');
    316278        return false;
    317279       
     
    324286        $count = 0;
    325287        $txpcat2wpcat = array();
    326        
    327288        // Do the Magic
    328289        if(is_array($categories))
     
    355316            return true;
    356317        }
    357         echo 'No Categories to Import!';
     318        echo __('No Categories to Import!');
    358319        return false;
    359320       
     
    505466            return true;
    506467        }
    507         echo 'No Comments to Import!';
     468        echo __('No Comments to Import!');
    508469        return false;
    509470    }
     
    578539        delete_option('txpcm2wpcm');
    579540        delete_option('txplinks2wplinks');
     541        delete_option('txpuser');
     542        delete_option('txppass');
     543        delete_option('txpname');
     544        delete_option('txphost');
    580545        $this->tips();
    581546    }
     
    583548    function tips()
    584549    {
    585         echo'<p>Welcome to WordPress.  We hope (and expect!) that you will find this platform incredibly rewarding!  As a new WordPress user coming from Textpattern, there are some things that we would like to point out.  Hopefully, they will help your transition go as smoothly as possible.</p>';
    586         echo'<h3>Users</h3>';
    587         echo'<p>You have already setup WordPress and have been assigned an administrative login and password.  Forget it.  You didn\'t have that login in Textpattern, why should you have it here?  Instead we have taken care to import all of your users into our system.  Unfortunately there is one downside.  Because both WordPress and Textpattern uses a strong encryption hash with passwords, it is impossible to decrypt it and we are forced to assign temporary passwords to all your users.  <strong>Every user has the same username, but their passwords are reset to password123.</strong>  This includes you.  So <a href="/wp-login.php">Login</a> and change it.</p>';
    588         echo'<h3>Preserving Authors</h3>';
    589         echo'<p>Secondly, we have attempted to preserve post authors.  If you are the only author or contributor to your blog, then you are safe.  In most cases, we are successful in this preservation endeavor.  However, if we cannot ascertain the name of the writer due to discrepancies between database tables, we assign it to you, the administrative user.</p>';
    590         echo'<h3>Textile</h3>';
    591         echo'<p>Also, since you\'re coming from Textpattern, you probably have been using Textile to format your comments and posts.  If this is the case, we recommend downloading and installing <a href="http://www.huddledmasses.org/2004/04/19/wordpress-plugin-textile-20/">Textile for WordPress</a>.  Trust me... You\'ll want it.</p>';
    592         echo'<h3>WordPress Resources</h3>';
    593         echo'<p>Finally, there are numerous WordPress resources around the internet.  Some of them are:</p>';
    594         echo'<ul>';
    595         echo'<li><a href="http://www.wordpress.org">The official WordPress site</a></li>';
    596         echo'<li><a href="http://wordpress.org/support/">The WordPress support forums</li>';
    597         echo'<li><a href="http://codex.wordpress.org">The Codex (In other words, the WordPress Bible)</a></li>';
    598         echo'</ul>';
    599         echo'<p>That\'s it! What are you waiting for? Go <a href="/wp-login.php">login</a>!</p>';
     550        echo __('<p>Welcome to WordPress.  We hope (and expect!) that you will find this platform incredibly rewarding!  As a new WordPress user coming from Textpattern, there are some things that we would like to point out.  Hopefully, they will help your transition go as smoothly as possible.</p>');
     551        echo __('<h3>Users</h3>');
     552        echo __('<p>You have already setup WordPress and have been assigned an administrative login and password.  Forget it.  You didn\'t have that login in Textpattern, why should you have it here?  Instead we have taken care to import all of your users into our system.  Unfortunately there is one downside.  Because both WordPress and Textpattern uses a strong encryption hash with passwords, it is impossible to decrypt it and we are forced to assign temporary passwords to all your users.  <strong>Every user has the same username, but their passwords are reset to password123.</strong>  So <a href="/wp-login.php">Login</a> and change it.</p>');
     553        echo __('<h3>Preserving Authors</h3>');
     554        echo __('<p>Secondly, we have attempted to preserve post authors.  If you are the only author or contributor to your blog, then you are safe.  In most cases, we are successful in this preservation endeavor.  However, if we cannot ascertain the name of the writer due to discrepancies between database tables, we assign it to you, the administrative user.</p>');
     555        echo __('<h3>Textile</h3>');
     556        echo __('<p>Also, since you\'re coming from Textpattern, you probably have been using Textile to format your comments and posts.  If this is the case, we recommend downloading and installing <a href="http://www.huddledmasses.org/2004/04/19/wordpress-plugin-textile-20/">Textile for WordPress</a>.  Trust me... You\'ll want it.</p>');
     557        echo __('<h3>WordPress Resources</h3>');
     558        echo __('<p>Finally, there are numerous WordPress resources around the internet.  Some of them are:</p>');
     559        echo __('<ul>');
     560        echo __('<li><a href="http://www.wordpress.org">The official WordPress site</a></li>');
     561        echo __('<li><a href="http://wordpress.org/support/">The WordPress support forums</li>');
     562        echo __('<li><a href="http://codex.wordpress.org">The Codex (In other words, the WordPress Bible)</a></li>');
     563        echo __('</ul>');
     564        echo __('<p>That\'s it! What are you waiting for? Go <a href="/wp-login.php">login</a>!</p>');
     565    }
     566   
     567    function db_form()
     568    {
     569        _e('<ul>');
     570        _e('<li><label for="dbuser">Textpattern Database User:</label> <input type="text" name="dbuser" /></li>');
     571        _e('<li><label for="dbpass">Textpattern Database Password:</label> <input type="password" name="dbpass" /></li>');
     572        _e('<li><label for="dbname">Textpattern Database Name:</label> <input type="text" name="dbname" /></li>');
     573        _e('<li><label for="dbhost">Textpattern Database Host:</label> <input type="text" name="dbhost" value="localhost" /></li>');
     574        _e('<li><label for="dbprefix">Textpattern Table prefix (if any)t:</label> <input type="text" name="dbprefix" /></li>');
     575        _e('</ul>');       
    600576    }
    601577   
    602578    function dispatch()
    603579    {
    604         global $txpdb, $txpcfg;
    605580
    606581        if (empty ($_GET['step']))
     
    608583        else
    609584            $step = (int) $_GET['step'];
    610 
    611585        $this->header();
    612586       
    613         if ( $step > 0 ) {
    614             add_option('tpre',$txpcfg['table_prefix']);
    615             $txpdb = new wpdb($txpcfg['user'], $txpcfg['pass'], $txpcfg['db'], $txpcfg['host']);
     587        if ( $step == 1 )
     588        {
     589            if(false !== get_option('txpuser')) {add_option('txpuser',$_POST['dbuser']); }
     590            if(false !== get_option('txppass')) {add_option('txppass',$_POST['dbpass']); }
     591            if(false !== get_option('txpname')) {add_option('txpname',$_POST['dbname']); }
     592            if(false !== get_option('txphost')) {add_option('txphost',$_POST['dbhost']); }
     593            if(false !== get_option('tpre')) { add_option('tpre', $tpre); }
     594
    616595        }
    617596
Note: See TracChangeset for help on using the changeset viewer.