View Single Post
  #1  
Old 03-16-2007, 11:22 AM
Tefra's Avatar
Tefra Tefra is offline
 
Join Date: Mar 2005
Posts: 68
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Custom Import Script Help

I am not sure if this is the right section to post this but anyway after all it's about importing things to vbulletin

I use a 3rd part software for my site as a portal and cms, not intergraded. I want now to move the news from my cms to vbulletin as topics. I wrote a small script to do this job as i couldn't find an easy way to use impex for this.

This is the table structure of the news

Code:
CREATE TABLE pages (
  page_id int(11) unsigned NOT NULL auto_increment,
  page_cat varchar(16) default NULL,
  page_title varchar(255) default NULL,
  page_text text,
  page_ownerid int(11) NOT NULL default '0',
  page_date int(11) NOT NULL default '0',
  page_count mediumint(8) unsigned default '0',
  PRIMARY KEY  (page_id),
  KEY page_cat (page_cat)
) TYPE=MyISAM;
ignore the page_cat, also ignore the page_ownerid as you will see below i assign some values manually.

Now here is the small script i wrote

PHP Code:
$sql mysql_query("SELECT * FROM $db_pages WHERE page_cat IN ('gnews', 'games', 'drvnews', 'stnews', 'hrdwrnews', 'softnews')");
while (
$row mysql_fetch_array($sql))
{

    
mysql_query("INSERT INTO vb_post (threadid, parentid, username, userid, title, dateline, pagetext, allowsmilie, showsignature, ipaddress, iconid, visible, attach, infraction, reportthreadid) VALUES
(0, 0, 'Tefra', 1, '"
.mysql_real_escape_string($row['page_title'])."', '".$row['page_date']."', '".mysql_real_escape_string($row['page_text'])."', 1, 1, '', 0, 1, 0, 0, 0)");


    
$post_id mysql_insert_id();

    
mysql_query("INSERT INTO vb_thread (title, firstpostid, lastpost, forumid, pollid, open, replycount, hiddencount, postusername, postuserid, lastposter, dateline, views, iconid, notes, visible, sticky, votenum, votetotal, attach, similar, deletedcount, lastpostid) VALUES
('"
.mysql_real_escape_string($row['page_title'])."', $post_id, '".$row['page_date']."', 32, 0, 1, 0, 0, 'Tefra', 1, 'Tefra', '".$row['page_date']."', '".$row['page_count']."', 0, '', 1, 0, 0, 0, 0, '', 0, $post_id)");

    
$thread_id mysql_insert_id();
    
    
mysql_query("UPDATE vb_post SET threadid=$thread_id WHERE postid=$post_id");
    
    echo 
"Imported news #".$row['page_id']."<br />";

As you can see i assign the topics manually in a new forum section i created manually. They are all topics with one post only.

Now the funny is that after running the necessary maintenance procedures everything looks like it's working great on my localhost.

But my knowledge on vbulletin API isn't great so i would like someone more experienced to tell me if i miss anything, or if there is a better way for this?
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01201 seconds
  • Memory Usage 1,784KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code
  • (1)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete