Blogger to ![WordPress](b2-img/wpminilogo.png)
The importer is running...
- Importing posts and users
$bgy/$bgmm ";
$posts = explode('', $archive);
for ($i = 1; $i < (count($posts)+1); $i = $i + 1) {
$postinfo = explode('|||', $posts[$i]);
$post_date = $postinfo[0];
$post_content = $postinfo[2];
// Don't try to re-use the original numbers
// because the new, longer numbers are too
// big to handle as ints.
//$post_number = $postinfo[3];
$post_title = $postinfo[4];
$post_author = trim(addslashes($postinfo[1]));
// we'll check the author is registered already
$user = $wpdb->get_row("SELECT * FROM $tableusers WHERE user_login = '$post_author'");
if (!$user) { // seems s/he's not, so let's register
$user_ip = '127.0.0.1';
$user_domain = 'localhost';
$user_browser = 'server';
$user_joindate = '1979-06-06 00:41:00'; // that's my birthdate (gmt+1) - I could choose any other date. You could change the date too. Just remember the year must be >=1970 or the world would just randomly fall on your head (everything might look fine, and then blam! major headache!)
$user_login = addslashes($post_author);
$pass1 = addslashes('password');
$user_nickname = addslashes($post_author);
$user_email = addslashes('user@cafelog.com');
$user_url = addslashes('');
$user_joindate = addslashes($user_joindate);
$result = $wpdb->query("
INSERT INTO $tableusers (
user_login,
user_pass,
user_nickname,
user_email,
user_url,
user_ip,
user_domain,
user_browser,
dateYMDhour,
user_level,
user_idmode
) VALUES (
'$user_login',
'$pass1',
'$user_nickname',
'$user_email',
'$user_url',
'$user_ip',
'$user_domain',
'$user_browser',
'$user_joindate',
'1',
'nickname'
)");
echo ": Registered user $user_login";
}
$post_author_ID = $wpdb->get_var("SELECT ID FROM $tableusers WHERE user_login = '$post_author'");
$post_date = explode(' ', $post_date);
$post_date_Ymd = explode('/', $post_date[0]);
$postyear = $post_date_Ymd[2];
$postmonth = zeroise($post_date_Ymd[0], 2);
$postday = zeroise($post_date_Ymd[1], 2);
$post_date_His = explode(':', $post_date[1]);
$posthour = zeroise($post_date_His[0], 2);
$postminute = zeroise($post_date_His[1], 2);
$postsecond = zeroise($post_date_His[2], 2);
if (($post_date[2] == 'PM') && ($posthour != '12'))
$posthour = $posthour + 12;
$post_date = "$postyear-$postmonth-$postday $posthour:$postminute:$postsecond";
$post_content = addslashes($post_content);
$post_content = str_replace('
', '
', $post_content); // the XHTML touch... ;)
$post_title = addslashes($post_title);
// Quick-n-dirty check for dups:
$dupcheck = $wpdb->get_results("SELECT ID,post_date,post_title FROM $tableposts WHERE post_date='$post_date' AND post_title='$post_title' LIMIT 1",ARRAY_A);
if ($dupcheck[0]['ID']) {
print "
\nSkipping duplicate post, ID = '" . $dupcheck[0]['ID'] . "'
\n";
print "Timestamp: " . $post_date . "
\n";
print "Post Title: '" . stripslashes($post_title) . "'
\n";
continue;
}
$result = $wpdb->query("
INSERT INTO $tableposts
(post_author,post_date,post_content,post_title,post_category)
VALUES
('$post_author_ID','$post_date','$post_content','$post_title','1')
");
} echo '... Done
';
}}
}
/* we've still got a bug that adds some empty posts with the date 0000-00-00 00:00:00
here's the bugfix: */
$result = $wpdb->query("DELETE FROM $tableposts WHERE post_date=\"0000-00-00 00:00:00\"");
?>
Done
Completed Blogger to WordPress import!
Now you can go and log in, have fun!