Skip to:
Content
Pages
Categories
Search
Top
Bottom

Re: v2: Simple Press importer, and first thoughts

@alexkramer

Participant

Please tell me what to write here

Now the author of topic is always admin.

//Topic Author - Guest (What code here?)

if(!($sp_topic->user_id))

{

echo("  Guest start topic: {$sp_posts[0]->guest_name}n");

// update_post_meta( $inserted_topic, '_bbp_anonymous_name', "{$sp_posts[0]->guest_name}" );

// update_post_meta( $inserted_topic, '_bbp_anonymous_email', "{$sp_posts[0]->guest_email}" );

// ??????

}

I am a newbie in php – use at your own risk!!!

<?php

/*

Plugin Name: Simple Press to bbPress

Plugin URI: http://www.4-14.org.uk/

Description: Import Simple Press forums to bbPress

Author: Mark Barnes

Version: 0.1

Author URI: http://www.4-14.org.uk/

using: http://site.com?bbpressimport=1&delete=1

*/

if (isset($_GET))

add_action (‘init’, ‘mbbb_init’);

function mbbb_init () {

global $wpdb;

define(‘WP_IMPORTING’, true);

//Delete existing posts

if (isset($_GET)) {

$post_ids = $wpdb->get_results(“SELECT ID from {$wpdb->posts} WHERE post_type IN (‘forum’, ‘reply’, ‘topic’)”);

if ($post_ids)

foreach ($post_ids as $post_id)

wp_delete_post ($post_id->ID, true);

}

// Import forums

$forum_map = array();

$sp_forums = $wpdb->get_results(“SELECT forum_desc, forum_name, forum_slug, forum_seq, forum_id FROM {$wpdb->prefix}sfforums ORDER BY forum_seq”);

if ($sp_forums) {

foreach ($sp_forums as $sp_forum) {

$post_id = $wpdb->get_var (“SELECT post_id FROM {$wpdb->prefix}postmeta WHERE meta_value=’forum_{$sp_forum->forum_id}’ AND meta_key=’_mbbb_sp_id'”);

if (!$post_id) {

$inserted_forum = wp_insert_post( array(

‘post_author’ => get_current_user_id(),

‘post_content’ => $sp_forum->forum_desc,

‘post_title’ => $sp_forum->forum_name,

‘post_excerpt’ => ”,

‘post_status’ => ‘publish’,

‘comment_status’ => ‘closed’,

‘ping_status’ => ‘closed’,

‘post_name’ => $sp_forum->forum_slug,

‘post_parent’ => 0,

‘post_type’ => bbp_get_forum_post_type(),

‘menu_order’ => $sp_forum->forum_seq

) );

if ($inserted_forum) {

echo “Added {$sp_forum->forum_name}n”;

update_post_meta( $inserted_forum, ‘_mbbb_sp_id’, “forum_{$sp_forum->forum_id}” );

} else

echo “Failed to add {$sp_forum->forum_name}n”;

} else

$inserted_forum = $post_id;

$forum_map[$sp_forum->forum_id] = $inserted_forum;

}

}

// Import topics

$topic_count = 0;

$sp_topics = $wpdb->get_results (“SELECT forum_id, user_id, topic_name, topic_slug, topic_date, topic_id FROM {$wpdb->prefix}sftopics ORDER BY topic_date ASC”);

if ($sp_topics) {

foreach ($sp_topics as $sp_topic) {

$post_id = $wpdb->get_var (“SELECT post_id FROM {$wpdb->prefix}postmeta WHERE meta_value=’topic_{$sp_topic->topic_id}’ AND meta_key=’_mbbb_sp_id'”);

$sp_posts = $wpdb->get_results (“SELECT topic_id, user_id, post_date, guest_name, guest_email, post_content, poster_ip, post_id from {$wpdb->prefix}sfposts WHERE topic_id = ‘{$sp_topic->topic_id}’ ORDER BY post_date ASC”);

if (isset($forum_map[$sp_topic->forum_id]) && $sp_posts) {

if (!$post_id) {

if(! empty($sp_posts[0]->guest_name))

{

echo(“Topic: {$sp_topic->topic_name}n”);

echo(“Guest name: {$sp_posts[0]->guest_name}n”);

$inserted_topic = wp_insert_post( array(

‘post_parent’ => $forum_map[$sp_topic->forum_id],

‘post_content’ => $sp_posts[0]->post_content,

‘post_title’ => $sp_topic->topic_name,

‘post_name’ => $sp_topic->topic_slug,

‘post_status’ => ‘publish’,

‘post_date_gmt’ => $sp_topic->topic_date,

‘post_date’ => get_date_from_gmt( $sp_topic->topic_date ),

‘post_type’ => bbp_get_topic_post_type(),

) );

if ($inserted_topic) {

update_post_meta( $inserted_topic, ‘_bbp_forum_id’, $forum_map[$sp_topic->forum_id] );

update_post_meta( $inserted_topic, ‘_bbp_topic_id’, $inserted_topic );

update_post_meta( $inserted_topic, ‘_mbbb_sp_id’, “topic_{$sp_topic->topic_id}” );

update_post_meta( $inserted_topic, ‘_bbp_anonymous_name’, “{$sp_posts[0]->guest_name}” );

update_post_meta( $inserted_topic, ‘_bbp_anonymous_email’, “{$sp_posts[0]->guest_email}” );

} else

echo “Failed to add {$sp_forum->topic_name}n”;

}

else

{

if(!($sp_posts[0]->user_id))

echo(“Guest TOPICStart: {$sp_posts[0]->guest_name}n”);

$inserted_topic = wp_insert_post( array(

‘post_parent’ => $forum_map[$sp_topic->forum_id],

‘post_author’ => $sp_posts[0]->user_id,

‘post_content’ => $sp_posts[0]->post_content,

‘post_title’ => $sp_topic->topic_name,

‘post_name’ => $sp_topic->topic_slug,

‘post_status’ => ‘publish’,

‘post_date_gmt’ => $sp_topic->topic_date,

‘post_date’ => get_date_from_gmt( $sp_topic->topic_date ),

‘post_type’ => bbp_get_topic_post_type(),

) );

if ($inserted_topic) {

echo “Added {$sp_topic->topic_name}n”;

update_post_meta( $inserted_topic, ‘_bbp_forum_id’, $forum_map[$sp_topic->forum_id] );

update_post_meta( $inserted_topic, ‘_bbp_topic_id’, $inserted_topic );

update_post_meta( $inserted_topic, ‘_mbbb_sp_id’, “topic_{$sp_topic->topic_id}” );

} else

echo “Failed to add {$sp_forum->topic_name}n”;

}

}

else{

echo “ADD”;

$inserted_topic = $post_id;

}

}

//Import posts

$post_count = 0;

if ($sp_posts) {

foreach ($sp_posts as $sp_post) {

$post_id = $wpdb->get_var (“SELECT post_id FROM {$wpdb->prefix}postmeta WHERE meta_value=’post_{$sp_post->post_id}’ AND meta_key=’_mbbb_sp_id'”);

if (!$post_id) {

if ($post_count != 0) {

if(! empty($sp_post->guest_name))

{

echo(”    Reply To: {$sp_topic->topic_name}n”);

echo(”    Guest name: {$sp_post->guest_name}n”);

$inserted_post = wp_insert_post( array(

‘post_parent’ => $inserted_topic,

‘post_date_gmt’ => $sp_post->post_date,

‘post_date’ => get_date_from_gmt( $sp_post->post_date ),

‘post_title’ => ‘Reply To: ‘.$sp_topic->topic_name,

‘post_status’ => ‘publish’,

‘post_type’ => bbp_get_reply_post_type(),

‘post_content’ => $sp_post->post_content

) );

if ($inserted_post) {

update_post_meta( $inserted_post, ‘_bbp_author_ip’, $sp_post->poster_ip );

update_post_meta( $inserted_post, ‘_bbp_forum_id’, $forum_map[$sp_topic->forum_id] );

update_post_meta( $inserted_post, ‘_bbp_topic_id’, $inserted_topic );

update_post_meta( $inserted_post, ‘_mbbb_sp_id’, “post_{$sp_post->post_id}” );

update_post_meta( $inserted_post, ‘_bbp_anonymous_name’, “{$sp_post->guest_name}” );

update_post_meta( $inserted_post, ‘_bbp_anonymous_email’, “{$sp_post->guest_email}” );

bbp_update_reply_walker( $inserted_post );

}

}

else

{

$inserted_post = wp_insert_post( array(

‘post_parent’ => $inserted_topic,

‘post_author’ => $sp_post->user_id,

‘post_date_gmt’ => $sp_post->post_date,

‘post_date’ => get_date_from_gmt( $sp_post->post_date ),

‘post_title’ => ‘Reply To: ‘.$sp_topic->topic_name,

‘post_status’ => ‘publish’,

‘post_type’ => bbp_get_reply_post_type(),

‘post_content’ => $sp_post->post_content

) );

if ($inserted_post) {

update_post_meta( $inserted_post, ‘_bbp_author_ip’, $sp_post->poster_ip );

update_post_meta( $inserted_post, ‘_bbp_forum_id’, $forum_map[$sp_topic->forum_id] );

update_post_meta( $inserted_post, ‘_bbp_topic_id’, $inserted_topic );

update_post_meta( $inserted_post, ‘_mbbb_sp_id’, “post_{$sp_post->post_id}” );

bbp_update_reply_walker( $inserted_post );

}

}

}

else

update_post_meta( $inserted_topic, ‘_bbp_author_ip’, $sp_post->poster_ip );

} else

{

$inserted_post = $post_id;

// echo(“Guest start topic:n”);

}

$post_count ++;

}

}

// echo(“Guest start topic:{$sp_topic->user_id}n”);

update_post_meta( $inserted_topic, ‘_bbp_last_reply_id’, $inserted_post );

update_post_meta( $inserted_topic, ‘_bbp_last_active_id’, $inserted_post ? $inserted_post : $inserted_topic );

update_post_meta( $inserted_topic, ‘_bbp_last_active_time’, $inserted_post ? $sp_post->post_date : $sp_topic->topic_date );

update_post_meta( $inserted_topic, ‘_bbp_reply_count’, $post_count -1 );

update_post_meta( $inserted_topic, ‘_bbp_hidden_reply_count’, 0 );

//Topic Author – Guest (What code here?)

if(!($sp_topic->user_id))

{

echo(”  Guest start topic: {$sp_posts[0]->guest_name}n”);

// update_post_meta( $inserted_topic, ‘_bbp_anonymous_name’, “{$sp_posts[0]->guest_name}” );

// update_post_meta( $inserted_topic, ‘_bbp_anonymous_email’, “{$sp_posts[0]->guest_email}” );

// ??????

}

bbp_update_topic_walker( $inserted_topic );

$topic_count ++;

}

}

global $wp_rewrite;

$wp_rewrite->flush_rules(false);

}

Skip to toolbar