web/wp-admin/import/textpattern.php
author ymh <ymh.work@gmail.com>
Mon, 22 Mar 2010 16:36:28 +0100
changeset 5 ac511f1ccc8e
parent 1 0d28b7c10758
permissions -rw-r--r--
add hgignore
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
0d28b7c10758 First commit
ymh
parents:
diff changeset
     1
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
     2
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
     3
 * TextPattern Importer
0d28b7c10758 First commit
ymh
parents:
diff changeset
     4
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
     5
 * @package WordPress
0d28b7c10758 First commit
ymh
parents:
diff changeset
     6
 * @subpackage Importer
0d28b7c10758 First commit
ymh
parents:
diff changeset
     7
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
     8
0d28b7c10758 First commit
ymh
parents:
diff changeset
     9
if(!function_exists('get_comment_count'))
0d28b7c10758 First commit
ymh
parents:
diff changeset
    10
{
0d28b7c10758 First commit
ymh
parents:
diff changeset
    11
	/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    12
	 * Get the comment count for posts.
0d28b7c10758 First commit
ymh
parents:
diff changeset
    13
	 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
    14
	 * @package WordPress
0d28b7c10758 First commit
ymh
parents:
diff changeset
    15
	 * @subpackage Textpattern_Import
0d28b7c10758 First commit
ymh
parents:
diff changeset
    16
	 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
    17
	 * @param int $post_ID Post ID
0d28b7c10758 First commit
ymh
parents:
diff changeset
    18
	 * @return int
0d28b7c10758 First commit
ymh
parents:
diff changeset
    19
	 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    20
	function get_comment_count($post_ID)
0d28b7c10758 First commit
ymh
parents:
diff changeset
    21
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
    22
		global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    23
		return $wpdb->get_var( $wpdb->prepare("SELECT count(*) FROM $wpdb->comments WHERE comment_post_ID = %d", $post_ID) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    24
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    25
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    26
0d28b7c10758 First commit
ymh
parents:
diff changeset
    27
if(!function_exists('link_exists'))
0d28b7c10758 First commit
ymh
parents:
diff changeset
    28
{
0d28b7c10758 First commit
ymh
parents:
diff changeset
    29
	/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    30
	 * Check whether link already exists.
0d28b7c10758 First commit
ymh
parents:
diff changeset
    31
	 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
    32
	 * @package WordPress
0d28b7c10758 First commit
ymh
parents:
diff changeset
    33
	 * @subpackage Textpattern_Import
0d28b7c10758 First commit
ymh
parents:
diff changeset
    34
	 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
    35
	 * @param string $linkname
0d28b7c10758 First commit
ymh
parents:
diff changeset
    36
	 * @return int
0d28b7c10758 First commit
ymh
parents:
diff changeset
    37
	 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    38
	function link_exists($linkname)
0d28b7c10758 First commit
ymh
parents:
diff changeset
    39
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
    40
		global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    41
		return $wpdb->get_var( $wpdb->prepare("SELECT link_id FROM $wpdb->links WHERE link_name = %s", $linkname) );
0d28b7c10758 First commit
ymh
parents:
diff changeset
    42
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    43
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    44
0d28b7c10758 First commit
ymh
parents:
diff changeset
    45
/**
0d28b7c10758 First commit
ymh
parents:
diff changeset
    46
 * TextPattern Importer Class
0d28b7c10758 First commit
ymh
parents:
diff changeset
    47
 *
0d28b7c10758 First commit
ymh
parents:
diff changeset
    48
 * @since unknown
0d28b7c10758 First commit
ymh
parents:
diff changeset
    49
 */
0d28b7c10758 First commit
ymh
parents:
diff changeset
    50
class Textpattern_Import {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    51
0d28b7c10758 First commit
ymh
parents:
diff changeset
    52
	function header()
0d28b7c10758 First commit
ymh
parents:
diff changeset
    53
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
    54
		echo '<div class="wrap">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    55
		screen_icon();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    56
		echo '<h2>'.__('Import Textpattern').'</h2>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    57
		echo '<p>'.__('Steps may take a few minutes depending on the size of your database. Please be patient.').'</p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    58
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    59
0d28b7c10758 First commit
ymh
parents:
diff changeset
    60
	function footer()
0d28b7c10758 First commit
ymh
parents:
diff changeset
    61
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
    62
		echo '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    63
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    64
0d28b7c10758 First commit
ymh
parents:
diff changeset
    65
	function greet() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    66
		echo '<div class="narrow">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    67
		echo '<p>'.__('Howdy! This imports categories, users, posts, comments, and links from any Textpattern 4.0.2+ into this blog.').'</p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    68
		echo '<p>'.__('This has not been tested on previous versions of Textpattern.  Mileage may vary.').'</p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    69
		echo '<p>'.__('Your Textpattern Configuration settings are as follows:').'</p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    70
		echo '<form action="admin.php?import=textpattern&amp;step=1" method="post">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    71
		wp_nonce_field('import-textpattern');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    72
		$this->db_form();
0d28b7c10758 First commit
ymh
parents:
diff changeset
    73
		echo '<p class="submit"><input type="submit" name="submit" class="button" value="'.esc_attr__('Import').'" /></p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    74
		echo '</form>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    75
		echo '</div>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
    76
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    77
0d28b7c10758 First commit
ymh
parents:
diff changeset
    78
	function get_txp_cats()
0d28b7c10758 First commit
ymh
parents:
diff changeset
    79
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
    80
		global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    81
		// General Housekeeping
0d28b7c10758 First commit
ymh
parents:
diff changeset
    82
		$txpdb = new wpdb(get_option('txpuser'), get_option('txppass'), get_option('txpname'), get_option('txphost'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
    83
		set_magic_quotes_runtime(0);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    84
		$prefix = get_option('tpre');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    85
0d28b7c10758 First commit
ymh
parents:
diff changeset
    86
		// Get Categories
0d28b7c10758 First commit
ymh
parents:
diff changeset
    87
		return $txpdb->get_results('SELECT
0d28b7c10758 First commit
ymh
parents:
diff changeset
    88
			id,
0d28b7c10758 First commit
ymh
parents:
diff changeset
    89
			name,
0d28b7c10758 First commit
ymh
parents:
diff changeset
    90
			title
0d28b7c10758 First commit
ymh
parents:
diff changeset
    91
			FROM '.$prefix.'txp_category
0d28b7c10758 First commit
ymh
parents:
diff changeset
    92
			WHERE type = "article"',
0d28b7c10758 First commit
ymh
parents:
diff changeset
    93
			ARRAY_A);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    94
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    95
0d28b7c10758 First commit
ymh
parents:
diff changeset
    96
	function get_txp_users()
0d28b7c10758 First commit
ymh
parents:
diff changeset
    97
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
    98
		global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    99
		// General Housekeeping
0d28b7c10758 First commit
ymh
parents:
diff changeset
   100
		$txpdb = new wpdb(get_option('txpuser'), get_option('txppass'), get_option('txpname'), get_option('txphost'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   101
		set_magic_quotes_runtime(0);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   102
		$prefix = get_option('tpre');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   103
0d28b7c10758 First commit
ymh
parents:
diff changeset
   104
		// Get Users
0d28b7c10758 First commit
ymh
parents:
diff changeset
   105
0d28b7c10758 First commit
ymh
parents:
diff changeset
   106
		return $txpdb->get_results('SELECT
0d28b7c10758 First commit
ymh
parents:
diff changeset
   107
			user_id,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   108
			name,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   109
			RealName,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   110
			email,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   111
			privs
0d28b7c10758 First commit
ymh
parents:
diff changeset
   112
			FROM '.$prefix.'txp_users', ARRAY_A);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   113
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   114
0d28b7c10758 First commit
ymh
parents:
diff changeset
   115
	function get_txp_posts()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   116
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   117
		// General Housekeeping
0d28b7c10758 First commit
ymh
parents:
diff changeset
   118
		$txpdb = new wpdb(get_option('txpuser'), get_option('txppass'), get_option('txpname'), get_option('txphost'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   119
		set_magic_quotes_runtime(0);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   120
		$prefix = get_option('tpre');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   121
0d28b7c10758 First commit
ymh
parents:
diff changeset
   122
		// Get Posts
0d28b7c10758 First commit
ymh
parents:
diff changeset
   123
		return $txpdb->get_results('SELECT
0d28b7c10758 First commit
ymh
parents:
diff changeset
   124
			ID,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   125
			Posted,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   126
			AuthorID,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   127
			LastMod,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   128
			Title,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   129
			Body,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   130
			Excerpt,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   131
			Category1,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   132
			Category2,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   133
			Status,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   134
			Keywords,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   135
			url_title,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   136
			comments_count
0d28b7c10758 First commit
ymh
parents:
diff changeset
   137
			FROM '.$prefix.'textpattern
0d28b7c10758 First commit
ymh
parents:
diff changeset
   138
			', ARRAY_A);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   139
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   140
0d28b7c10758 First commit
ymh
parents:
diff changeset
   141
	function get_txp_comments()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   142
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   143
		global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   144
		// General Housekeeping
0d28b7c10758 First commit
ymh
parents:
diff changeset
   145
		$txpdb = new wpdb(get_option('txpuser'), get_option('txppass'), get_option('txpname'), get_option('txphost'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   146
		set_magic_quotes_runtime(0);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   147
		$prefix = get_option('tpre');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   148
0d28b7c10758 First commit
ymh
parents:
diff changeset
   149
		// Get Comments
0d28b7c10758 First commit
ymh
parents:
diff changeset
   150
		return $txpdb->get_results('SELECT * FROM '.$prefix.'txp_discuss', ARRAY_A);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   151
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   152
0d28b7c10758 First commit
ymh
parents:
diff changeset
   153
		function get_txp_links()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   154
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   155
		//General Housekeeping
0d28b7c10758 First commit
ymh
parents:
diff changeset
   156
		$txpdb = new wpdb(get_option('txpuser'), get_option('txppass'), get_option('txpname'), get_option('txphost'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   157
		set_magic_quotes_runtime(0);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   158
		$prefix = get_option('tpre');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   159
0d28b7c10758 First commit
ymh
parents:
diff changeset
   160
		return $txpdb->get_results('SELECT
0d28b7c10758 First commit
ymh
parents:
diff changeset
   161
			id,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   162
			date,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   163
			category,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   164
			url,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   165
			linkname,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   166
			description
0d28b7c10758 First commit
ymh
parents:
diff changeset
   167
			FROM '.$prefix.'txp_link',
0d28b7c10758 First commit
ymh
parents:
diff changeset
   168
			ARRAY_A);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   169
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   170
0d28b7c10758 First commit
ymh
parents:
diff changeset
   171
	function cat2wp($categories='')
0d28b7c10758 First commit
ymh
parents:
diff changeset
   172
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   173
		// General Housekeeping
0d28b7c10758 First commit
ymh
parents:
diff changeset
   174
		global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   175
		$count = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   176
		$txpcat2wpcat = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   177
		// Do the Magic
0d28b7c10758 First commit
ymh
parents:
diff changeset
   178
		if(is_array($categories))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   179
		{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   180
			echo '<p>'.__('Importing Categories...').'<br /><br /></p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   181
			foreach ($categories as $category)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   182
			{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   183
				$count++;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   184
				extract($category);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   185
0d28b7c10758 First commit
ymh
parents:
diff changeset
   186
0d28b7c10758 First commit
ymh
parents:
diff changeset
   187
				// Make Nice Variables
0d28b7c10758 First commit
ymh
parents:
diff changeset
   188
				$name = $wpdb->escape($name);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   189
				$title = $wpdb->escape($title);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   190
0d28b7c10758 First commit
ymh
parents:
diff changeset
   191
				if($cinfo = category_exists($name))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   192
				{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   193
					$ret_id = wp_insert_category(array('cat_ID' => $cinfo, 'category_nicename' => $name, 'cat_name' => $title));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   194
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   195
				else
0d28b7c10758 First commit
ymh
parents:
diff changeset
   196
				{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   197
					$ret_id = wp_insert_category(array('category_nicename' => $name, 'cat_name' => $title));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   198
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   199
				$txpcat2wpcat[$id] = $ret_id;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   200
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   201
0d28b7c10758 First commit
ymh
parents:
diff changeset
   202
			// Store category translation for future use
0d28b7c10758 First commit
ymh
parents:
diff changeset
   203
			add_option('txpcat2wpcat',$txpcat2wpcat);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   204
			echo '<p>'.sprintf(_n('Done! <strong>%1$s</strong> category imported.', 'Done! <strong>%1$s</strong> categories imported.', $count), $count).'<br /><br /></p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   205
			return true;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   206
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   207
		echo __('No Categories to Import!');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   208
		return false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   209
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   210
0d28b7c10758 First commit
ymh
parents:
diff changeset
   211
	function users2wp($users='')
0d28b7c10758 First commit
ymh
parents:
diff changeset
   212
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   213
		// General Housekeeping
0d28b7c10758 First commit
ymh
parents:
diff changeset
   214
		global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   215
		$count = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   216
		$txpid2wpid = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   217
0d28b7c10758 First commit
ymh
parents:
diff changeset
   218
		// Midnight Mojo
0d28b7c10758 First commit
ymh
parents:
diff changeset
   219
		if(is_array($users))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   220
		{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   221
			echo '<p>'.__('Importing Users...').'<br /><br /></p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   222
			foreach($users as $user)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   223
			{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   224
				$count++;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   225
				extract($user);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   226
0d28b7c10758 First commit
ymh
parents:
diff changeset
   227
				// Make Nice Variables
0d28b7c10758 First commit
ymh
parents:
diff changeset
   228
				$name = $wpdb->escape($name);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   229
				$RealName = $wpdb->escape($RealName);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   230
0d28b7c10758 First commit
ymh
parents:
diff changeset
   231
				if($uinfo = get_userdatabylogin($name))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   232
				{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   233
0d28b7c10758 First commit
ymh
parents:
diff changeset
   234
					$ret_id = wp_insert_user(array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
   235
								'ID'			=> $uinfo->ID,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   236
								'user_login'	=> $name,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   237
								'user_nicename'	=> $RealName,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   238
								'user_email'	=> $email,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   239
								'user_url'		=> 'http://',
0d28b7c10758 First commit
ymh
parents:
diff changeset
   240
								'display_name'	=> $name)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   241
								);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   242
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   243
				else
0d28b7c10758 First commit
ymh
parents:
diff changeset
   244
				{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   245
					$ret_id = wp_insert_user(array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
   246
								'user_login'	=> $name,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   247
								'user_nicename'	=> $RealName,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   248
								'user_email'	=> $email,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   249
								'user_url'		=> 'http://',
0d28b7c10758 First commit
ymh
parents:
diff changeset
   250
								'display_name'	=> $name)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   251
								);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   252
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   253
				$txpid2wpid[$user_id] = $ret_id;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   254
0d28b7c10758 First commit
ymh
parents:
diff changeset
   255
				// Set Textpattern-to-WordPress permissions translation
0d28b7c10758 First commit
ymh
parents:
diff changeset
   256
				$transperms = array(1 => '10', 2 => '9', 3 => '5', 4 => '4', 5 => '3', 6 => '2', 7 => '0');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   257
0d28b7c10758 First commit
ymh
parents:
diff changeset
   258
				// Update Usermeta Data
0d28b7c10758 First commit
ymh
parents:
diff changeset
   259
				$user = new WP_User($ret_id);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   260
				if('10' == $transperms[$privs]) { $user->set_role('administrator'); }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   261
				if('9'  == $transperms[$privs]) { $user->set_role('editor'); }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   262
				if('5'  == $transperms[$privs]) { $user->set_role('editor'); }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   263
				if('4'  == $transperms[$privs]) { $user->set_role('author'); }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   264
				if('3'  == $transperms[$privs]) { $user->set_role('contributor'); }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   265
				if('2'  == $transperms[$privs]) { $user->set_role('contributor'); }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   266
				if('0'  == $transperms[$privs]) { $user->set_role('subscriber'); }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   267
0d28b7c10758 First commit
ymh
parents:
diff changeset
   268
				update_usermeta( $ret_id, 'wp_user_level', $transperms[$privs] );
0d28b7c10758 First commit
ymh
parents:
diff changeset
   269
				update_usermeta( $ret_id, 'rich_editing', 'false');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   270
			}// End foreach($users as $user)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   271
0d28b7c10758 First commit
ymh
parents:
diff changeset
   272
			// Store id translation array for future use
0d28b7c10758 First commit
ymh
parents:
diff changeset
   273
			add_option('txpid2wpid',$txpid2wpid);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   274
0d28b7c10758 First commit
ymh
parents:
diff changeset
   275
0d28b7c10758 First commit
ymh
parents:
diff changeset
   276
			echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> users imported.'), $count).'<br /><br /></p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   277
			return true;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   278
		}// End if(is_array($users)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   279
0d28b7c10758 First commit
ymh
parents:
diff changeset
   280
		echo __('No Users to Import!');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   281
		return false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   282
0d28b7c10758 First commit
ymh
parents:
diff changeset
   283
	}// End function user2wp()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   284
0d28b7c10758 First commit
ymh
parents:
diff changeset
   285
	function posts2wp($posts='')
0d28b7c10758 First commit
ymh
parents:
diff changeset
   286
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   287
		// General Housekeeping
0d28b7c10758 First commit
ymh
parents:
diff changeset
   288
		global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   289
		$count = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   290
		$txpposts2wpposts = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   291
		$cats = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   292
0d28b7c10758 First commit
ymh
parents:
diff changeset
   293
		// Do the Magic
0d28b7c10758 First commit
ymh
parents:
diff changeset
   294
		if(is_array($posts))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   295
		{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   296
			echo '<p>'.__('Importing Posts...').'<br /><br /></p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   297
			foreach($posts as $post)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   298
			{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   299
				$count++;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   300
				extract($post);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   301
0d28b7c10758 First commit
ymh
parents:
diff changeset
   302
				// Set Textpattern-to-WordPress status translation
0d28b7c10758 First commit
ymh
parents:
diff changeset
   303
				$stattrans = array(1 => 'draft', 2 => 'private', 3 => 'draft', 4 => 'publish', 5 => 'publish');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   304
0d28b7c10758 First commit
ymh
parents:
diff changeset
   305
				//Can we do this more efficiently?
0d28b7c10758 First commit
ymh
parents:
diff changeset
   306
				$uinfo = ( get_userdatabylogin( $AuthorID ) ) ? get_userdatabylogin( $AuthorID ) : 1;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   307
				$authorid = ( is_object( $uinfo ) ) ? $uinfo->ID : $uinfo ;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   308
0d28b7c10758 First commit
ymh
parents:
diff changeset
   309
				$Title = $wpdb->escape($Title);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   310
				$Body = $wpdb->escape($Body);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   311
				$Excerpt = $wpdb->escape($Excerpt);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   312
				$post_status = $stattrans[$Status];
0d28b7c10758 First commit
ymh
parents:
diff changeset
   313
0d28b7c10758 First commit
ymh
parents:
diff changeset
   314
				// Import Post data into WordPress
0d28b7c10758 First commit
ymh
parents:
diff changeset
   315
0d28b7c10758 First commit
ymh
parents:
diff changeset
   316
				if($pinfo = post_exists($Title,$Body))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   317
				{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   318
					$ret_id = wp_insert_post(array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
   319
						'ID'				=> $pinfo,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   320
						'post_date'			=> $Posted,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   321
						'post_date_gmt'		=> $post_date_gmt,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   322
						'post_author'		=> $authorid,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   323
						'post_modified'		=> $LastMod,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   324
						'post_modified_gmt' => $post_modified_gmt,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   325
						'post_title'		=> $Title,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   326
						'post_content'		=> $Body,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   327
						'post_excerpt'		=> $Excerpt,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   328
						'post_status'		=> $post_status,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   329
						'post_name'			=> $url_title,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   330
						'comment_count'		=> $comments_count)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   331
						);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   332
					if ( is_wp_error( $ret_id ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   333
						return $ret_id;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   334
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   335
				else
0d28b7c10758 First commit
ymh
parents:
diff changeset
   336
				{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   337
					$ret_id = wp_insert_post(array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
   338
						'post_date'			=> $Posted,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   339
						'post_date_gmt'		=> $post_date_gmt,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   340
						'post_author'		=> $authorid,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   341
						'post_modified'		=> $LastMod,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   342
						'post_modified_gmt' => $post_modified_gmt,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   343
						'post_title'		=> $Title,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   344
						'post_content'		=> $Body,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   345
						'post_excerpt'		=> $Excerpt,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   346
						'post_status'		=> $post_status,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   347
						'post_name'			=> $url_title,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   348
						'comment_count'		=> $comments_count)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   349
						);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   350
					if ( is_wp_error( $ret_id ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   351
						return $ret_id;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   352
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   353
				$txpposts2wpposts[$ID] = $ret_id;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   354
0d28b7c10758 First commit
ymh
parents:
diff changeset
   355
				// Make Post-to-Category associations
0d28b7c10758 First commit
ymh
parents:
diff changeset
   356
				$cats = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   357
				$category1 = get_category_by_slug($Category1);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   358
				$category1 = $category1->term_id;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   359
				$category2 = get_category_by_slug($Category2);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   360
				$category2 = $category2->term_id;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   361
				if($cat1 = $category1) { $cats[1] = $cat1; }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   362
				if($cat2 = $category2) { $cats[2] = $cat2; }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   363
0d28b7c10758 First commit
ymh
parents:
diff changeset
   364
				if(!empty($cats)) { wp_set_post_categories($ret_id, $cats); }
0d28b7c10758 First commit
ymh
parents:
diff changeset
   365
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   366
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   367
		// Store ID translation for later use
0d28b7c10758 First commit
ymh
parents:
diff changeset
   368
		add_option('txpposts2wpposts',$txpposts2wpposts);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   369
0d28b7c10758 First commit
ymh
parents:
diff changeset
   370
		echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> posts imported.'), $count).'<br /><br /></p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   371
		return true;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   372
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   373
0d28b7c10758 First commit
ymh
parents:
diff changeset
   374
	function comments2wp($comments='')
0d28b7c10758 First commit
ymh
parents:
diff changeset
   375
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   376
		// General Housekeeping
0d28b7c10758 First commit
ymh
parents:
diff changeset
   377
		global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   378
		$count = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   379
		$txpcm2wpcm = array();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   380
		$postarr = get_option('txpposts2wpposts');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   381
0d28b7c10758 First commit
ymh
parents:
diff changeset
   382
		// Magic Mojo
0d28b7c10758 First commit
ymh
parents:
diff changeset
   383
		if(is_array($comments))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   384
		{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   385
			echo '<p>'.__('Importing Comments...').'<br /><br /></p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   386
			foreach($comments as $comment)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   387
			{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   388
				$count++;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   389
				extract($comment);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   390
0d28b7c10758 First commit
ymh
parents:
diff changeset
   391
				// WordPressify Data
0d28b7c10758 First commit
ymh
parents:
diff changeset
   392
				$comment_ID = ltrim($discussid, '0');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   393
				$comment_post_ID = $postarr[$parentid];
0d28b7c10758 First commit
ymh
parents:
diff changeset
   394
				$comment_approved = (1 == $visible) ? 1 : 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   395
				$name = $wpdb->escape($name);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   396
				$email = $wpdb->escape($email);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   397
				$web = $wpdb->escape($web);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   398
				$message = $wpdb->escape($message);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   399
0d28b7c10758 First commit
ymh
parents:
diff changeset
   400
				$comment = array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
   401
							'comment_post_ID'	=> $comment_post_ID,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   402
							'comment_author'	=> $name,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   403
							'comment_author_IP'	=> $ip,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   404
							'comment_author_email'	=> $email,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   405
							'comment_author_url'	=> $web,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   406
							'comment_date'		=> $posted,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   407
							'comment_content'	=> $message,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   408
							'comment_approved'	=> $comment_approved);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   409
				$comment = wp_filter_comment($comment);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   410
0d28b7c10758 First commit
ymh
parents:
diff changeset
   411
				if ( $cinfo = comment_exists($name, $posted) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   412
					// Update comments
0d28b7c10758 First commit
ymh
parents:
diff changeset
   413
					$comment['comment_ID'] = $cinfo;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   414
					$ret_id = wp_update_comment($comment);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   415
				} else {
0d28b7c10758 First commit
ymh
parents:
diff changeset
   416
					// Insert comments
0d28b7c10758 First commit
ymh
parents:
diff changeset
   417
					$ret_id = wp_insert_comment($comment);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   418
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   419
				$txpcm2wpcm[$comment_ID] = $ret_id;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   420
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   421
			// Store Comment ID translation for future use
0d28b7c10758 First commit
ymh
parents:
diff changeset
   422
			add_option('txpcm2wpcm', $txpcm2wpcm);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   423
0d28b7c10758 First commit
ymh
parents:
diff changeset
   424
			// Associate newly formed categories with posts
0d28b7c10758 First commit
ymh
parents:
diff changeset
   425
			get_comment_count($ret_id);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   426
0d28b7c10758 First commit
ymh
parents:
diff changeset
   427
0d28b7c10758 First commit
ymh
parents:
diff changeset
   428
			echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> comments imported.'), $count).'<br /><br /></p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   429
			return true;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   430
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   431
		echo __('No Comments to Import!');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   432
		return false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   433
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   434
0d28b7c10758 First commit
ymh
parents:
diff changeset
   435
	function links2wp($links='')
0d28b7c10758 First commit
ymh
parents:
diff changeset
   436
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   437
		// General Housekeeping
0d28b7c10758 First commit
ymh
parents:
diff changeset
   438
		global $wpdb;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   439
		$count = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   440
0d28b7c10758 First commit
ymh
parents:
diff changeset
   441
		// Deal with the links
0d28b7c10758 First commit
ymh
parents:
diff changeset
   442
		if(is_array($links))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   443
		{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   444
			echo '<p>'.__('Importing Links...').'<br /><br /></p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   445
			foreach($links as $link)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   446
			{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   447
				$count++;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   448
				extract($link);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   449
0d28b7c10758 First commit
ymh
parents:
diff changeset
   450
				// Make nice vars
0d28b7c10758 First commit
ymh
parents:
diff changeset
   451
				$category = $wpdb->escape($category);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   452
				$linkname = $wpdb->escape($linkname);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   453
				$description = $wpdb->escape($description);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   454
0d28b7c10758 First commit
ymh
parents:
diff changeset
   455
				if($linfo = link_exists($linkname))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   456
				{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   457
					$ret_id = wp_insert_link(array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
   458
								'link_id'			=> $linfo,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   459
								'link_url'			=> $url,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   460
								'link_name'			=> $linkname,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   461
								'link_category'		=> $category,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   462
								'link_description'	=> $description,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   463
								'link_updated'		=> $date)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   464
								);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   465
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   466
				else
0d28b7c10758 First commit
ymh
parents:
diff changeset
   467
				{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   468
					$ret_id = wp_insert_link(array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
   469
								'link_url'			=> $url,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   470
								'link_name'			=> $linkname,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   471
								'link_category'		=> $category,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   472
								'link_description'	=> $description,
0d28b7c10758 First commit
ymh
parents:
diff changeset
   473
								'link_updated'		=> $date)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   474
								);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   475
				}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   476
				$txplinks2wplinks[$link_id] = $ret_id;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   477
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   478
			add_option('txplinks2wplinks',$txplinks2wplinks);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   479
			echo '<p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   480
			printf(_n('Done! <strong>%s</strong> link imported', 'Done! <strong>%s</strong> links imported', $count), $count);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   481
			echo '<br /><br /></p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   482
			return true;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   483
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   484
		echo __('No Links to Import!');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   485
		return false;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   486
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   487
0d28b7c10758 First commit
ymh
parents:
diff changeset
   488
	function import_categories()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   489
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   490
		// Category Import
0d28b7c10758 First commit
ymh
parents:
diff changeset
   491
		$cats = $this->get_txp_cats();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   492
		$this->cat2wp($cats);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   493
		add_option('txp_cats', $cats);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   494
0d28b7c10758 First commit
ymh
parents:
diff changeset
   495
0d28b7c10758 First commit
ymh
parents:
diff changeset
   496
0d28b7c10758 First commit
ymh
parents:
diff changeset
   497
		echo '<form action="admin.php?import=textpattern&amp;step=2" method="post">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   498
		wp_nonce_field('import-textpattern');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   499
		printf('<p class="submit"><input type="submit" name="submit" class="button" value="%s" /></p>', esc_attr__('Import Users'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   500
		echo '</form>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   501
0d28b7c10758 First commit
ymh
parents:
diff changeset
   502
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   503
0d28b7c10758 First commit
ymh
parents:
diff changeset
   504
	function import_users()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   505
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   506
		// User Import
0d28b7c10758 First commit
ymh
parents:
diff changeset
   507
		$users = $this->get_txp_users();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   508
		$this->users2wp($users);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   509
0d28b7c10758 First commit
ymh
parents:
diff changeset
   510
		echo '<form action="admin.php?import=textpattern&amp;step=3" method="post">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   511
		wp_nonce_field('import-textpattern');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   512
		printf('<p class="submit"><input type="submit" name="submit" class="button" value="%s" /></p>', esc_attr__('Import Posts'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   513
		echo '</form>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   514
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   515
0d28b7c10758 First commit
ymh
parents:
diff changeset
   516
	function import_posts()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   517
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   518
		// Post Import
0d28b7c10758 First commit
ymh
parents:
diff changeset
   519
		$posts = $this->get_txp_posts();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   520
		$result = $this->posts2wp($posts);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   521
		if ( is_wp_error( $result ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   522
			return $result;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   523
0d28b7c10758 First commit
ymh
parents:
diff changeset
   524
		echo '<form action="admin.php?import=textpattern&amp;step=4" method="post">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   525
		wp_nonce_field('import-textpattern');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   526
		printf('<p class="submit"><input type="submit" name="submit" class="button" value="%s" /></p>', esc_attr__('Import Comments'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   527
		echo '</form>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   528
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   529
0d28b7c10758 First commit
ymh
parents:
diff changeset
   530
	function import_comments()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   531
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   532
		// Comment Import
0d28b7c10758 First commit
ymh
parents:
diff changeset
   533
		$comments = $this->get_txp_comments();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   534
		$this->comments2wp($comments);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   535
0d28b7c10758 First commit
ymh
parents:
diff changeset
   536
		echo '<form action="admin.php?import=textpattern&amp;step=5" method="post">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   537
		wp_nonce_field('import-textpattern');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   538
		printf('<p class="submit"><input type="submit" name="submit" class="button" value="%s" /></p>', esc_attr__('Import Links'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   539
		echo '</form>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   540
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   541
0d28b7c10758 First commit
ymh
parents:
diff changeset
   542
	function import_links()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   543
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   544
		//Link Import
0d28b7c10758 First commit
ymh
parents:
diff changeset
   545
		$links = $this->get_txp_links();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   546
		$this->links2wp($links);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   547
		add_option('txp_links', $links);
0d28b7c10758 First commit
ymh
parents:
diff changeset
   548
0d28b7c10758 First commit
ymh
parents:
diff changeset
   549
		echo '<form action="admin.php?import=textpattern&amp;step=6" method="post">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   550
		wp_nonce_field('import-textpattern');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   551
		printf('<p class="submit"><input type="submit" name="submit" class="button" value="%s" /></p>', esc_attr__('Finish'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   552
		echo '</form>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   553
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   554
0d28b7c10758 First commit
ymh
parents:
diff changeset
   555
	function cleanup_txpimport()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   556
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   557
		delete_option('tpre');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   558
		delete_option('txp_cats');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   559
		delete_option('txpid2wpid');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   560
		delete_option('txpcat2wpcat');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   561
		delete_option('txpposts2wpposts');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   562
		delete_option('txpcm2wpcm');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   563
		delete_option('txplinks2wplinks');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   564
		delete_option('txpuser');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   565
		delete_option('txppass');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   566
		delete_option('txpname');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   567
		delete_option('txphost');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   568
		do_action('import_done', 'textpattern');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   569
		$this->tips();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   570
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   571
0d28b7c10758 First commit
ymh
parents:
diff changeset
   572
	function tips()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   573
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   574
		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>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   575
		echo '<h3>'.__('Users').'</h3>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   576
		echo '<p>'.sprintf(__('You have already setup WordPress and have been assigned an administrative login and password.  Forget it.  You didn&#8217;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="%1$s">log in</a> and change it.'), get_bloginfo( 'wpurl' ) . '/wp-login.php').'</p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   577
		echo '<h3>'.__('Preserving Authors').'</h3>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   578
		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>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   579
		echo '<h3>'.__('Textile').'</h3>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   580
		echo '<p>'.__('Also, since you&#8217;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/category/development/wordpress/textile/">Textile for WordPress</a>.  Trust me... You&#8217;ll want it.').'</p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   581
		echo '<h3>'.__('WordPress Resources').'</h3>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   582
		echo '<p>'.__('Finally, there are numerous WordPress resources around the internet.  Some of them are:').'</p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   583
		echo '<ul>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   584
		echo '<li>'.__('<a href="http://www.wordpress.org">The official WordPress site</a>').'</li>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   585
		echo '<li>'.__('<a href="http://wordpress.org/support/">The WordPress support forums</a>').'</li>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   586
		echo '<li>'.__('<a href="http://codex.wordpress.org">The Codex (In other words, the WordPress Bible)</a>').'</li>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   587
		echo '</ul>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   588
		echo '<p>'.sprintf(__('That&#8217;s it! What are you waiting for? Go <a href="%1$s">log in</a>!'), get_bloginfo( 'wpurl' ) . '/wp-login.php').'</p>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   589
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   590
0d28b7c10758 First commit
ymh
parents:
diff changeset
   591
	function db_form()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   592
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   593
		echo '<table class="form-table">';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   594
		printf('<tr><th scope="row"><label for="dbuser">%s</label></th><td><input type="text" name="dbuser" id="dbuser" /></td></tr>', __('Textpattern Database User:'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   595
		printf('<tr><th scope="row"><label for="dbpass">%s</label></th><td><input type="password" name="dbpass" id="dbpass" /></td></tr>', __('Textpattern Database Password:'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   596
		printf('<tr><th scope="row"><label for="dbname">%s</label></th><td><input type="text" id="dbname" name="dbname" /></td></tr>', __('Textpattern Database Name:'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   597
		printf('<tr><th scope="row"><label for="dbhost">%s</label></th><td><input type="text" id="dbhost" name="dbhost" value="localhost" /></td></tr>', __('Textpattern Database Host:'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   598
		printf('<tr><th scope="row"><label for="dbprefix">%s</label></th><td><input type="text" name="dbprefix" id="dbprefix"  /></td></tr>', __('Textpattern Table prefix (if any):'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   599
		echo '</table>';
0d28b7c10758 First commit
ymh
parents:
diff changeset
   600
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   601
0d28b7c10758 First commit
ymh
parents:
diff changeset
   602
	function dispatch()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   603
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   604
0d28b7c10758 First commit
ymh
parents:
diff changeset
   605
		if (empty ($_GET['step']))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   606
			$step = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   607
		else
0d28b7c10758 First commit
ymh
parents:
diff changeset
   608
			$step = (int) $_GET['step'];
0d28b7c10758 First commit
ymh
parents:
diff changeset
   609
		$this->header();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   610
0d28b7c10758 First commit
ymh
parents:
diff changeset
   611
		if ( $step > 0 )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   612
		{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   613
			check_admin_referer('import-textpattern');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   614
0d28b7c10758 First commit
ymh
parents:
diff changeset
   615
			if($_POST['dbuser'])
0d28b7c10758 First commit
ymh
parents:
diff changeset
   616
			{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   617
				if(get_option('txpuser'))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   618
					delete_option('txpuser');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   619
				add_option('txpuser', sanitize_user($_POST['dbuser'], true));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   620
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   621
			if($_POST['dbpass'])
0d28b7c10758 First commit
ymh
parents:
diff changeset
   622
			{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   623
				if(get_option('txppass'))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   624
					delete_option('txppass');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   625
				add_option('txppass',  sanitize_user($_POST['dbpass'], true));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   626
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   627
0d28b7c10758 First commit
ymh
parents:
diff changeset
   628
			if($_POST['dbname'])
0d28b7c10758 First commit
ymh
parents:
diff changeset
   629
			{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   630
				if(get_option('txpname'))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   631
					delete_option('txpname');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   632
				add_option('txpname',  sanitize_user($_POST['dbname'], true));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   633
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   634
			if($_POST['dbhost'])
0d28b7c10758 First commit
ymh
parents:
diff changeset
   635
			{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   636
				if(get_option('txphost'))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   637
					delete_option('txphost');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   638
				add_option('txphost',  sanitize_user($_POST['dbhost'], true));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   639
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   640
			if($_POST['dbprefix'])
0d28b7c10758 First commit
ymh
parents:
diff changeset
   641
			{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   642
				if(get_option('tpre'))
0d28b7c10758 First commit
ymh
parents:
diff changeset
   643
					delete_option('tpre');
0d28b7c10758 First commit
ymh
parents:
diff changeset
   644
				add_option('tpre',  sanitize_user($_POST['dbprefix']));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   645
			}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   646
0d28b7c10758 First commit
ymh
parents:
diff changeset
   647
0d28b7c10758 First commit
ymh
parents:
diff changeset
   648
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   649
0d28b7c10758 First commit
ymh
parents:
diff changeset
   650
		switch ($step)
0d28b7c10758 First commit
ymh
parents:
diff changeset
   651
		{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   652
			default:
0d28b7c10758 First commit
ymh
parents:
diff changeset
   653
			case 0 :
0d28b7c10758 First commit
ymh
parents:
diff changeset
   654
				$this->greet();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   655
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   656
			case 1 :
0d28b7c10758 First commit
ymh
parents:
diff changeset
   657
				$this->import_categories();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   658
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   659
			case 2 :
0d28b7c10758 First commit
ymh
parents:
diff changeset
   660
				$this->import_users();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   661
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   662
			case 3 :
0d28b7c10758 First commit
ymh
parents:
diff changeset
   663
				$result = $this->import_posts();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   664
				if ( is_wp_error( $result ) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
   665
					echo $result->get_error_message();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   666
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   667
			case 4 :
0d28b7c10758 First commit
ymh
parents:
diff changeset
   668
				$this->import_comments();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   669
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   670
			case 5 :
0d28b7c10758 First commit
ymh
parents:
diff changeset
   671
				$this->import_links();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   672
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   673
			case 6 :
0d28b7c10758 First commit
ymh
parents:
diff changeset
   674
				$this->cleanup_txpimport();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   675
				break;
0d28b7c10758 First commit
ymh
parents:
diff changeset
   676
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   677
0d28b7c10758 First commit
ymh
parents:
diff changeset
   678
		$this->footer();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   679
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   680
0d28b7c10758 First commit
ymh
parents:
diff changeset
   681
	function Textpattern_Import()
0d28b7c10758 First commit
ymh
parents:
diff changeset
   682
	{
0d28b7c10758 First commit
ymh
parents:
diff changeset
   683
		// Nothing.
0d28b7c10758 First commit
ymh
parents:
diff changeset
   684
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   685
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
   686
0d28b7c10758 First commit
ymh
parents:
diff changeset
   687
$txp_import = new Textpattern_Import();
0d28b7c10758 First commit
ymh
parents:
diff changeset
   688
0d28b7c10758 First commit
ymh
parents:
diff changeset
   689
register_importer('textpattern', __('Textpattern'), __('Import categories, users, posts, comments, and links from a Textpattern blog.'), array ($txp_import, 'dispatch'));
0d28b7c10758 First commit
ymh
parents:
diff changeset
   690
0d28b7c10758 First commit
ymh
parents:
diff changeset
   691
?>