Howdy! We’re about to begin the process to import all of your bBlog entries into WordPress. Before we get started, you need to edit this file (import-bblog.php
) and change a few lines so we know where to find your bBlog database. To make this easy put the import file into the wp-admin
directory. Look for the line that says:
define('BBLOG_DB', '');
and change it to
define('BBLOG_DB', 'my_database');
Change the rest of the lines at the top as described.
If you've done that and you’re all ready, let's go! Remember that the import process may take a minute or so if you have a large number of entries and comments. Think of all the rebuilding time you'll be saving once it's done. :)
The importer is smart enough not to import duplicates, so you can run this multiple times without worry if—for whatever reason—it doesn't finish.
Check here for details.
' . mysql_error());
}
if (!$db=mysql_select_db(BBLOG_DB)) {die('Error selecting database. Make sure your properly edited import-bblog.php. Check here for details.
' . mysql_error());}
$sql="SELECT value FROM ".BBLOG_PREFIX."config where name='BLOGNAME'";
$result=mysql_query($sql);
if (mysql_num_rows($result)<1) {
die(BBLOG_DB.' does not seem to be a valid database name. Make sure you\'ve properly edited import-bblog.php.
');
}
else {
echo "Connected to database for blog ". mysql_result($result,0) ."
";
}
$sql="SELECT postid, title, body, posttime, sections FROM ".BBLOG_PREFIX."posts";
$result = mysql_query($sql);
$postnum=-1;
while ($row = mysql_fetch_assoc($result)) {
$postnum++;
$posts[$postnum]->id=$row["postid"];
$posts[$postnum]->posttime=$row["posttime"];
$posts[$postnum]->title=$row["title"];
$posts[$postnum]->body=$row["body"];
$sections=explode(":",$row['sections']);
foreach ($sections as $id) {
if ($id=="") {
continue;
}
else {
//$posts[$postnum]->sections[]=$id;
$sql="SELECT nicename FROM ".BBLOG_PREFIX."sections WHERE sectionid=$id";
$catres=mysql_query($sql);
while ($catrow = mysql_fetch_array($catres)) {
$posts[$postnum]->sections[]=$catrow[0];
}
}
}
// Get Comments
$sql="SELECT commentid, title, posttime, postername, posteremail, posterwebsite, pubemail, pubwebsite, commenttext FROM ".BBLOG_PREFIX."comments WHERE postid=".$posts[$postnum]->id;
$commentres=mysql_query($sql);
while ($row = mysql_fetch_assoc($commentres)) {
if (sizeof($row)>0) { //comment
$posts[$postnum]->comments[]->commentid=$row['commentid'];
$arrayid=sizeof($posts[$postnum]->comments)-1;
$posts[$postnum]->comments[$arrayid]->parentid=$row['parentid'];
$posts[$postnum]->comments[$arrayid]->title=mysql_escape_string($row['title']);
$posts[$postnum]->comments[$arrayid]->posttime=$row['posttime'];
$posts[$postnum]->comments[$arrayid]->postername=mysql_escape_string($row['postername']);
$posts[$postnum]->comments[$arrayid]->commenttext=mysql_escape_string($row['commenttext']);
if ($row['pubemail']=='1') {
$posts[$postnum]->comments[$arrayid]->posteremail=$row['posteremail'];
}
if ($row['pubwebsite']=='1') {
$posts[$postnum]->comments[$arrayid]->posterwebsite=$row['posterwebsite'];
}
}
else {
continue;
}
}
}
mysql_close($link);
mysql_connect($server,$loginsql,$passsql);
mysql_select_db($base);
foreach ($posts as $post) {
if ($post->posttime) {
$post_date=strftime("%G-%m-%d %T", $post->posttime);
}
$post_name = mysql_escape_string(sanitize_title($post->title));
unset($categories);
foreach($post->sections as $section) {
$categories[]=$section;
}
$title=mysql_escape_string($post->title);
$body=mysql_escape_string($post->body);
$wpdb->query("INSERT INTO $tableposts
(post_author, post_date, post_date_gmt, post_content, post_title,post_status, comment_status, ping_status, post_name)
VALUES
('$import_userid', '$post_date', '$post_date', '$body', '$title', 'publish', 'open', 'open', '$post_name')");
$post_id = $wpdb->get_var("SELECT ID FROM $tableposts WHERE post_title = '$title' AND post_date = '$post_date'");
$post_id = $wpdb->get_var("SELECT ID FROM $tableposts WHERE post_title = '$title' AND post_date = '$post_date'");
if (!$post_id) die("couldn't get post ID");
if (0 != count($categories)) :
foreach ($categories as $post_category) :
//$post_category = $post_category;//unhtmlentities($post_category);
// See if the category exists yet
$cat_id = $wpdb->get_var("SELECT cat_ID from $tablecategories WHERE cat_name = '$post_category'");
if (!$cat_id && '' != trim($post_category)) {
$cat_nicename = sanitize_title($post_category);
$wpdb->query("INSERT INTO $tablecategories (cat_name, category_nicename) VALUES ('$post_category', '$cat_nicename')");
$cat_id = $wpdb->get_var("SELECT cat_ID from $tablecategories WHERE cat_name = '$post_category'");
}
if ('' == trim($post_category)) $cat_id = 1;
// Double check it's not there already
$exists = $wpdb->get_row("SELECT * FROM $tablepost2cat WHERE post_id = $post_id AND category_id = $cat_id");
if (!$exists) {
$wpdb->query("
INSERT INTO $tablepost2cat
(post_id, category_id)
VALUES
($post_id, $cat_id)
");
}
endforeach;
else:
$exists = $wpdb->get_row("SELECT * FROM $tablepost2cat WHERE post_id = $post_id AND category_id = 1");
if (!$exists) $wpdb->query("INSERT INTO $tablepost2cat (post_id, category_id) VALUES ($post_id, 1) ");
endif;
if (0 != count($post->comments)) {
foreach($post->comments as $comment) {
$comment_post_date=strftime("%G-%m-%d %T", $comment->posttime);
$author=$comment->postername;
$author_email=$comment->posteremail;
$author_www=$comment->posterwebsite;
$text=$comment->commenttext;
$title=$comment->title;
$sql="INSERT INTO $tablecomments (comment_post_id,comment_author,comment_author_email,comment_author_url,comment_date,comment_date_gmt,comment_content,comment_approved,comment_author_ip) VALUES('$post_id','$author','$author_email','$author_www','$comment_post_date','$comment_post_date','$text','1','127.0.0.1')";
$wpdb->query($sql);
}
}
echo "Inserted post $title";
}
?>