Posted the new version:
v1.2 (12/7/2005):
Uses correct vB user id and user name of the blog author. This will work only if the username of the Wordpress user is exactly the same as the vB username. If not, it uses $vb_userid and $vb_username defined in the settings.
Here's the updated code in post.php:
Code:
// VB Bridge Start
if ($vb_bridge) {
if ($post_title == "") {
return;
}
$saveid = $vb_userid;
$savename = $vb_username;
$author_name = $wpdb->get_var("SELECT `user_login` FROM $wpdb->users WHERE `id` = '$post_author'");
if ($author_name != ""){
$vb_authorid = $wpdb->get_var("SELECT `userid` FROM " . $vb_dbprefix . "user WHERE `username` = '$author_name'");
if ($vb_authorid != ""){
$saveid = $vb_authorid;
$savename = $author_name;
}
}
$curtime = time();
$sql = "INSERT INTO `{$vb_dbprefix}thread`
SET `title`='{$post_title}',`lastpost`='{$curtime}', `forumid`='{$vb_forumid}', `open`='1', `postusername`='{$savename}', `postuserid`='{$saveid}', `lastposter`='{$savename}', `dateline`='{$curtime}', `visible`='1'";
$vbresult = $wpdb->query($sql);
$vb_threadid = $wpdb->insert_id;
if ($excerpt == ""){
$moreflag = strpos($content,'<!--more-->');
if ($moreflag === false) {
$introtext = $content;
} else {
$introtext = substr($content, 0, $moreflag);
}
$bbcontent = '[quote'.']'.strip_tags($introtext).'['.'/quote]';
} else {
$bbcontent = '[quote'.']'.strip_tags($excerpt).'['.'/quote]';
}
$bbcontent .= '[URL='.get_permalink($post_ID).']['.'b]'.$vb_readmessage.'['.'/b]['.'/URL]';
$sql = "INSERT INTO `{$vb_dbprefix}post`
SET `threadid`='{$vb_threadid}', `username`='{$savename}', `userid`='{$saveid}', `title`='{$post_title}', `pagetext`='{$bbcontent}', `ipaddress`='{$REMOTE_ADDR}', `allowsmilie`='1', `iconid`='1',`visible`='1', `dateline`='{$curtime}'";
$vbresult = $wpdb->query($sql);
$sql = "UPDATE `{$vb_dbprefix}forum` SET `threadcount`=`threadcount`+1, `lastpost`='{$curtime}', `lastposter`='{$savename}', `lastthread`='{$post_title}', `lastthreadid`='{$vb_threadid}', `lasticonid`='1' WHERE `forumid`='{$vb_forumid}' LIMIT 1";
$vbresult = $wpdb->query($sql);
$sql = "UPDATE $wpdb->posts SET `vb_threadid`={$vb_threadid} WHERE `ID`='{$post_ID}'";
$vbresult = $wpdb->query($sql);
}
// VB Bridge End