";
}
?>
diff --git a/wp-admin/import/blogger.php b/wp-admin/import/blogger.php
index 864c5a2bbd..fecffbd4ac 100644
--- a/wp-admin/import/blogger.php
+++ b/wp-admin/import/blogger.php
@@ -662,6 +662,6 @@ class Blogger_Import {
$blogger_import = new Blogger_Import();
-register_importer('blogger', 'Blogger', __('Import posts and comments from a Blogger account'), array ($blogger_import, 'start'));
+register_importer('blogger', 'Blogger and Blogspot', __('Import posts and comments from your Blogger account'), array ($blogger_import, 'start'));
?>
diff --git a/wp-admin/import/mt.php b/wp-admin/import/mt.php
index 6766f32e01..a04541a26d 100644
--- a/wp-admin/import/mt.php
+++ b/wp-admin/import/mt.php
@@ -11,7 +11,7 @@ class MT_Import {
function header() {
echo '
';
- echo '
'.__('Import Movable Type').'
';
+ echo '
'.__('Import Movable Type and Typepad').'
';
}
function footer() {
@@ -148,7 +148,7 @@ class MT_Import {
$j = -1;
foreach ($authors as $author) {
++ $j;
- echo '
'.$author.' '.'';
+ echo '
Current author: '.$author.' '.'Create user or map to existing ';
$this->users_form($j);
echo '
';
}
@@ -162,7 +162,10 @@ class MT_Import {
function select_authors() {
$file = wp_import_handle_upload();
if ( isset($file['error']) ) {
- echo $file['error'];
+ $this->header();
+ echo '
Sorry, there has been an error.
';
+ echo '
' . $file['error'] . '
';
+ $this->footer();
return;
}
$this->file = $file['file'];
@@ -331,7 +334,7 @@ class MT_Import {
}
}
if ( $num_comments )
- printf(__('(%s comments)'), $num_comments);
+ printf(__(' (%s comments)'), $num_comments);
// Finally the pings
// fix the double newline on the first one
@@ -379,7 +382,7 @@ class MT_Import {
}
}
if ( $num_pings )
- printf(__('(%s pings)'), $num_pings);
+ printf(__(' (%s pings)'), $num_pings);
echo "";
}
@@ -394,6 +397,7 @@ class MT_Import {
function import() {
$this->id = (int) $_GET['id'];
+
$this->file = get_attached_file($this->id);
$this->get_authors_from_post();
$this->get_entries();
@@ -426,5 +430,5 @@ class MT_Import {
$mt_import = new MT_Import();
-register_importer('mt', 'Movable Type', __('Import posts and comments from your Movable Type blog'), array ($mt_import, 'dispatch'));
+register_importer('mt', 'Movable Type and Typepad', __('Imports posts and comments from your Movable Type or Typepad blog'), array ($mt_import, 'dispatch'));
?>
diff --git a/wp-admin/import/wordpress.php b/wp-admin/import/wordpress.php
new file mode 100644
index 0000000000..ac886cf90c
--- /dev/null
+++ b/wp-admin/import/wordpress.php
@@ -0,0 +1,311 @@
+';
+ echo '
'.__('Import WordPress').'
';
+ }
+
+ function footer() {
+ echo '
';
+ }
+
+ function unhtmlentities($string) { // From php.net for < 4.3 compat
+ $trans_tbl = get_html_translation_table(HTML_ENTITIES);
+ $trans_tbl = array_flip($trans_tbl);
+ return strtr($string, $trans_tbl);
+ }
+
+ function greet() {
+ echo '
'.__('Howdy! Upload your WordPress eXtended RSS (WXR) file and we’ll import the posts and comments into this blog.').'
';
+ wp_import_upload_form("admin.php?import=wordpress&step=1");
+ }
+
+ function get_tag( $string, $tag ) {
+ preg_match("|<$tag.*?>(.*?)$tag>|is", $string, $return);
+ $return = addslashes( trim( $return[1] ) );
+ return $return;
+ }
+
+ function users_form($n) {
+ global $wpdb, $testing;
+ $users = $wpdb->get_results("SELECT * FROM $wpdb->users ORDER BY ID");
+?>
+ mtnames))) { //a new mt author name is found
+ ++ $this->j;
+ $this->mtnames[$this->j] = $author; //add that new mt author name to an array
+ $user_id = username_exists($this->newauthornames[$this->j]); //check if the new author name defined by the user is a pre-existing wp user
+ if (!$user_id) { //banging my head against the desk now.
+ if ($newauthornames[$this->j] == 'left_blank') { //check if the user does not want to change the authorname
+ $user_id = wp_create_user($author, $pass);
+ $this->newauthornames[$this->j] = $author; //now we have a name, in the place of left_blank.
+ } else {
+ $user_id = wp_create_user($this->newauthornames[$this->j], $pass);
+ }
+ } else {
+ return $user_id; // return pre-existing wp username if it exists
+ }
+ } else {
+ $key = array_search($author, $this->mtnames); //find the array key for $author in the $mtnames array
+ $user_id = username_exists($this->newauthornames[$key]); //use that key to get the value of the author's name from $newauthornames
+ }
+
+ return $user_id;
+ }
+
+ function get_entries() {
+ set_magic_quotes_runtime(0);
+ $importdata = file($this->file); // Read the file into an array
+ $importdata = implode('', $importdata); // squish it
+ $importdata = preg_replace("/(\r\n|\n|\r)/", "\n", $importdata);
+ preg_match_all('|(.*?)|is', $importdata, $this->posts);
+ $this->posts = $this->posts[1];
+ }
+
+ function get_wp_authors() {
+ $temp = array ();
+ $i = -1;
+ foreach ($this->posts as $post) {
+ if ('' != trim($post)) {
+ ++ $i;
+ $author = $this->get_tag( $post, 'dc:creator' );
+ array_push($temp, "$author"); //store the extracted author names in a temporary array
+ }
+ }
+
+ // We need to find unique values of author names, while preserving the order, so this function emulates the unique_value(); php function, without the sorting.
+ $authors[0] = array_shift($temp);
+ $y = count($temp) + 1;
+ for ($x = 1; $x < $y; $x ++) {
+ $next = array_shift($temp);
+ if (!(in_array($next, $authors)))
+ array_push($authors, "$next");
+ }
+
+ return $authors;
+ }
+
+ function get_authors_from_post() {
+ $formnames = array ();
+ $selectnames = array ();
+
+ foreach ($_POST['user'] as $key => $line) {
+ $newname = trim(stripslashes($line));
+ if ($newname == '')
+ $newname = 'left_blank'; //passing author names from step 1 to step 2 is accomplished by using POST. left_blank denotes an empty entry in the form.
+ array_push($formnames, "$newname");
+ } // $formnames is the array with the form entered names
+
+ foreach ($_POST['userselect'] as $user => $key) {
+ $selected = trim(stripslashes($key));
+ array_push($selectnames, "$selected");
+ }
+
+ $count = count($formnames);
+ for ($i = 0; $i < $count; $i ++) {
+ if ($selectnames[$i] != '#NONE#') { //if no name was selected from the select menu, use the name entered in the form
+ array_push($this->newauthornames, "$selectnames[$i]");
+ } else {
+ array_push($this->newauthornames, "$formnames[$i]");
+ }
+ }
+ }
+
+ function wp_authors_form() {
+?>
+
+