| Fireboard to phpBB3 ! 3 Years, 7 Months ago |
|
Hi all,
Did anyone of you manage to convert Fireboard to phpBB3 ?
I think i can\'t go any longer with this release cycles.
Maybe you have a working script at hand than can help me in this process.
Thanx and Greetz
|
|
|
| Fireboard to phpBB3 ! 3 Years, 7 Months ago |
|
Hi all,
Did anyone of you manage to convert Fireboard to phpBB3 ?
I think i can\'t go any longer with this release cycles.
Maybe you have a working script at hand than can help me in this process.
Thanx and Greetz
|
|
|
| Re:Fireboard to phpBB3 ! 3 Years, 7 Months ago |
|
If you can hang in there a while you can convert FB to Agora. If not check the PHPBB forums. I\'m sure you \'re not the only one.
|
|
|
| Re:Fireboard to phpBB3 ! 3 Years, 2 Months ago |
|
Hell ya\' i\'m gone:
Here\'s a dummie guide... to go from FB 1.0.5 RC2 or below to phpBB 3.0.X
0.) Take some time, don\'t be busy when doing this, concentrate it\'s easy but follow the plan. ;)
1.) Download a Local Server Application like MAMP oder XAMPP. > Install and set up a database
2.) Export your Fireboard tables and import them in the clean database in MAMP/XAMPP.
3.) Download phpBB 2.0.22 (!), drop it on your virtual server and... > Install
4.) Use following Script called [b]xMAS Script v0.3[/b] and upload it as .php file (name it convert.php or some) in your phpBB Folder.
5.) Open the file and fill in your database Name/Pass/etc.. and table prefix \"jos_fb_....\", phpbb_ and > Save it
6.) Call the script with your browser - watch a second (very fast, depending on the forum size)
7.) If a errors appears read carefully, mostly it\'s a table that you doubled when you go through it several times
8.) Download phpBB 3.0.X and install it, it will ask you if you like to upgrade from php 2.0.22 after install.
7.) You\'re done. :woohoo: (Hopefully!)
Here goes the Converter Script:
[code]<?php
/*
Fireboard 1.0.x to phbBB2 2.0.x converter
0.0 Based on the phpbb2tosb.php script by Olle Johansson http://mambo.theyard.org/ and from Marcos Osorno http://www.blort.com
0.1 Based upon updated script from http://www.phpbb.com/community/viewtopic.php?f=10&t=371271&p=2026820
0.2 The tweeks here are based on
http://www.phpbb.com/community/viewtopic.php?f=10&t=588149#p3598205
0.3 Slight change to avoid the \' issue (breaking the script if \' appears)
* Tested on: phpBB 2.0.22, Joomla 1.0.13 w/ Fireboard 1.0.3, Fireboard 1.0.5 RC2, PHP 5.2.3, MySQL 5.0.45
* Tested by executing from within the phpBB directory
* Will DESTROY all the data in your phpBB db and replace it with SB data! Does not append!
-------------Config---------------------*/
//MySQL Database host - usually \'localhost\'
$host=\'localhost\';
// Your MySQL Database user
$user=\'xxxx\';
// Your MySQL Database password
$pass=\'xxxx\';
// Your MySQL Database name
$db=\'xxxx\';
// Joomla database prefix - Use existing Prefix
$mosConfig_dbprefix = \"jos_\";
// phpBB2 database prefix - Use existing Prefix
$phpbb_dbprefix = \"phpbb2_\";
// Temp DB prefix used for temporary tables in the script
// set this to a prefix you are NOT using on your mySQL db
$temp_dbprefix = \"temp_\";
/* ---------------------------------------*/
define(\"BBCODE_UID_LEN\", 10);
$bbcode_on = \'true\';
ini_set(\"magic_quotes_gpc\", \"1\");
set_magic_quotes_runtime ( 0 );
echo \"<?xml version=\\\"1.0\\\"?>\";
echo \"<!DOCTYPE html PUBLIC \\\"-//W3C//DTD XHTML 1.0 Transitional//EN\\\" \\\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\\\">\";
echo \"<html xmlns=\\\"http://www.w3.org/1999/xhtml\\\">\";
echo \"<head>\";
echo \"<title>Importing data from Fireboard</title>\";
echo \"<meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html; iso-8859-1\\\" />\";
echo \"</head>\";
echo \"<body>\";
echo \"<h1>Importing data from Fireboard</h1>\"; flush();
//Connect to and select Database
echo \"Connecting to Database...\\n\"; flush();
$lnk = mysql_connect($host, $user, $pass) or die (\'Not connected: \' . mysql_error());
$sqlFix = \"SET SESSION SQL_BIG_SELECTS=1\";
$resFix = mysql_query($sqlFix);
mysql_select_db($db, $lnk) or die(\'Error: \'.mysql_error());
echo \"OK\\n\"; flush();
// PHPBB Categories > Forums > Topics > Posts > Posts Text
// Part One - Populate Categories
echo \"<br />Populating Categories...\\n\"; flush();
// Import the main categories
// Prune those Fireboard categories which have a parent
// Multiply the ordering by 10 to conform to phpbb2 format
// if fb_categories.parent = 0 then category is a phpbb cateogory
//I did away with the pruning of Fireboard categories with a
//parent. I took the 0 out of the where clause and got
//everything since I had child boards. This is an area that
//will need a clean up to go to phpBB3.
//clear phpbb categories table
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}categories\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// if fb_categories.parent = 0 then category is a category
$query = \"INSERT INTO {$phpbb_dbprefix}categories (cat_id, cat_title, cat_order)
SELECT id, name, ordering*10
FROM {$mosConfig_dbprefix}fb_categories
ORDER by ordering\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
//Count Rows Inserted
$query = \"SELECT COUNT(*)
FROM {$phpbb_dbprefix}categories;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Rows... OK\"; flush();
// clear phpbb forums table
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}forums\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// Part Two - Populate Forums
// phpbb2 considers category header messages as forums
// these are indicated in sb by setting fb_messages.id=sb_messages.thread
// the actual messages can be detected by seeing that fb_messages.parent != 0
echo \"<br />Populating Forums...\\n\"; flush();
$query = \"INSERT INTO {$phpbb_dbprefix}forums (forum_id, cat_id, forum_name, forum_desc, forum_status, forum_order, forum_posts, forum_topics, forum_last_post_id, prune_next, prune_enable, auth_view, auth_read, auth_post, auth_reply, auth_edit,auth_delete, auth_sticky, auth_announce, auth_vote, auth_pollcreate, auth_attachments)
SELECT id, parent, name, description, 0, ordering, c.posts, b.topics, d.last, NULL, 0, 0, 1, 1, 1, 1, 1, 3, 3, 1, 1, 0
FROM {$mosConfig_dbprefix}fb_categories
LEFT JOIN (SELECT catid, COUNT(*) AS topics FROM {$mosConfig_dbprefix}fb_messages WHERE id=thread GROUP BY catid) b
ON {$mosConfig_dbprefix}fb_categories.id=b.catid
LEFT JOIN (SELECT catid, COUNT(*) AS posts FROM {$mosConfig_dbprefix}fb_messages GROUP BY catid) c
ON {$mosConfig_dbprefix}fb_categories.id=c.catid
LEFT JOIN (SELECT catid, MAX(id) AS last FROM {$mosConfig_dbprefix}fb_messages GROUP BY catid) d
ON {$mosConfig_dbprefix}fb_categories.id=d.catid
WHERE parent != 0
GROUP BY id;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
//Count Rows Inserted
$query = \"SELECT COUNT(*)
FROM {$phpbb_dbprefix}forums;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Rows... OK\"; flush();
// Part Three - Populate Topics
// if fb_messages.parent = 0 then messages is a topic
echo \"<br />Populating Topics...\\n\"; flush();
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}topics\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// Some messages still had the single quote in them without a \\
// which was causing import problems so we
// removed the single quote and replaced it with HTML for the quote
// Run a query taking simple board messages and finding which are topics by thread=id then merge with count table above
// also subtract one from the reply count because it counts itself under this algorithm
$query = \"SELECT m.id, m.catid, m.userid, m.subject, m.time, m.hits, reply - 1 AS reply, locked, \'0\', \'0\', c.min, c.max, \'0\'
FROM {$mosConfig_dbprefix}fb_messages AS m
JOIN (SELECT thread, MIN(id) AS min, MAX(id) as max, COUNT(id) as reply
FROM {$mosConfig_dbprefix}fb_messages GROUP BY thread) c
WHERE m.thread=m.id AND m.parent=0 AND c.thread=m.thread\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
while ( $row = mysql_fetch_object( $result ) ) {
$subject = stripslashes( $row->subject );
$subject = preg_replace (\'/\\\'/\', \'\\\\\\\'\', $subject);
$query = \"INSERT INTO {$phpbb_dbprefix}topics(topic_id, forum_id, topic_poster, topic_title, topic_time,topic_views, topic_replies, topic_status, topic_vote, topic_type,topic_first_post_id, topic_last_post_id, topic_moved_id)VALUES (\'$row->id\', \'$row->catid\', \'$row->userid\', \'$subject\', \'$row->time\',\'$row->hits\', \'$row->reply\', \'$row->locked\', \'0\', \'\',\'$row->min\', \'$row->max\', \'0\')\";
$updateresult = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
}
mysql_free_result($result);
//Count Rows Inserted
$query = \"SELECT COUNT(*)
FROM {$phpbb_dbprefix}topics;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Rows... OK\\n\"; flush();
// Part Four - Populate Messages Table
echo \"<br />Populating Posts...\\n\"; flush();
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}posts\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}posts (post_id, topic_id, forum_id, poster_id, post_time, poster_ip, post_username, enable_bbcode, enable_html, enable_smilies, enable_sig, post_edit_time, post_edit_count)
SELECT id, thread, catid, userid, time, HEX(INET_ATON(ip)), name, 1, 0, topic_emoticon, 1, NULL, 0 FROM {$mosConfig_dbprefix}fb_messages\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"SELECT COUNT(*) FROM {$phpbb_dbprefix}posts;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Rows... OK\"; flush();
//Populate Messages_Text Table
echo \"<br />Populating Post Text & Converting Fireboard Syntax to phhBB Syntax... (This may take a while)\\n\"; flush();
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}posts_text\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"SELECT m.id, m.subject, t.message
FROM {$mosConfig_dbprefix}fb_messages_text AS t, {$mosConfig_dbprefix}fb_messages AS m WHERE m.id = t.mesid\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// uses phpbb\'s bbcode encoder to make a uid for each message
// which is required for the bbcode to work in phpbb
while ( $row = mysql_fetch_object( $result ) ) {
$bbcode_uid = ( $bbcode_on ) ? make_bbcode_uid() : \'\';
$message = prep ( $row->message);
$message = fixquotes ($message);
$message = mysql_real_escape_string ($message);
$subject = stripslashes( $row->subject );
$subject = preg_replace (\'/\\\'/\', \'\\\\\\\'\', $subject);
$query = \"INSERT INTO {$phpbb_dbprefix}posts_text (post_id, bbcode_uid, post_subject, post_text)
VALUES (\'$row->id\',\'$bbcode_uid\', \'$subject\', \'$message\')\";
$updateresult = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
}
mysql_free_result($result);
//Count Rows Inserted
$query = \"SELECT COUNT(*) FROM {$phpbb_dbprefix}posts_text;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Rows... OK\\n\"; flush();
//Populate Users Table , Note user_sig_bbcode_uid is a radom, md5 checksum
echo \"<br />Populating Users Table From Joomla...\\n\";
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}users\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}users (user_id, user_active, username, user_password, user_session_time, user_lastvisit, user_regdate, user_level, user_dateformat, user_email)
SELECT id,
CASE block
WHEN 0 THEN 1
ELSE 0 END,
username,
password,
UNIX_TIMESTAMP(lastvisitDate),
UNIX_TIMESTAMP(lastvisitDate),
UNIX_TIMESTAMP(registerDate),
CASE gid
WHEN 25 THEN 1
WHEN 24 THEN 1
ELSE 0 END,
\'d M Y H:i\',
email
FROM {$mosConfig_dbprefix}users ORDER by id;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"SELECT COUNT(*) FROM {$phpbb_dbprefix}users;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Users... OK\\n\"; flush();
//Update Info From Fireboard
echo \"<br />Updating Users Table From Fireboard...\\n\";
$query = \"UPDATE {$phpbb_dbprefix}users, {$mosConfig_dbprefix}fb_users
SET user_posts=posts, user_avatar=avatar, user_icq=ICQ, user_website=websitename, user_from=location, user_sig=signature, user_aim=AIM, user_yim=YIM, user_msnm=MSN, user_interests=personalText
WHERE user_id=userid;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// uses phpbb\'s bbcode encoder to make a uid for each message
// which is required for the bbcode to work in phpbb
// clean up bbcode in signatures and ad bbcode_uid
// Fireboard had inserted backslashes \\\\ everywhere which was
// causing lots of trouble. I punted
// and selected the signature as null, in effect, leaving it
// behind. Not worth the trouble for me to clean it up. Users
// can put their sigs back themselves.
//$query = \"SELECT user_id, signature
$query = \"SELECT user_id, NULL
FROM {$phpbb_dbprefix}users
ORDER BY user_id;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
while ( $row = mysql_fetch_object( $result ) ) {
$bbcode_uid = ( $bbcode_on ) ? make_bbcode_uid() : \'\';
$signature = prep ( $row->user_sig);
$signature = preg_replace (\'/\\\'/\', \'\\\\\\\'\', $signature);
$query = \"UPDATE {$phpbb_dbprefix}users
SET user_sig=\'$signature\', user_sig_bbcode_uid=\'$bbcode_uid\'
WHERE user_id=$row->user_id\";
$updateresult = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
}
mysql_free_result($result);
$query = \"SELECT COUNT(*) FROM {$phpbb_dbprefix}users;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
//Clean up avatar, only for off site avatar, Onsite Avatars will be deleted
echo \"<br />Updated $count Users... OK\\n\"; flush();
$query = \"UPDATE {$phpbb_dbprefix}users
SET user_avatar_type = 3
WHERE user_avatar LIKE \'http://%\';\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"UPDATE {$phpbb_dbprefix}users
SET user_avatar_type = 0, user_avatar = NULL
WHERE user_avatar NOT LIKE \'http://%\';\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// create a group for each user
echo \"<br />Updating Users Groups...\\n\"; flush();
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}groups\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}groups (group_id, group_type, group_name, group_description, group_moderator, group_single_user)
SELECT user_id, \'1\', \'\', \'Personal User\', \'0\', \'1\'
FROM {$phpbb_dbprefix}users ORDER BY user_id\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// have each user join their own group
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}user_group\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}user_group (group_id, user_id, user_pending)
SELECT user_id, user_id, \'0\'
FROM {$phpbb_dbprefix}users
ORDER BY user_id\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
echo \"OK\\n\"; flush();
//insert ranks
echo \"<br />Inserting User Ranks...\\n\"; flush();
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}ranks\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}ranks (rank_id, rank_title, rank_min, rank_special, rank_image) SELECT rank_id, rank_title, rank_min, rank_special, rank_image
FROM {$mosConfig_dbprefix}fb_ranks
ORDER BY rank_id\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
echo \"OK\\n\"; flush();
echo \"<br />Complete...\\n\"; flush();
echo \"</body>\";
echo \"</html>\"; flush();
//--- Function to prepare strings for MySQL storage ---/
function prep($s) {
// Insert bbcode_uid necessary for bbcode to be recognized by phpbb2
global $bbcode_uid;
// <strong> </strong>
$s = preg_replace(\'/\\[b\\]/\', \'[b:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/b\\]/\', \'[/b:\'.$bbcode_uid.\']\', $s);
// <em> </em>
$s = preg_replace(\'/\\[i\\]/\', \'[i:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/i\\]/\', \'[/i:\'.$bbcode_uid.\']\', $s);
// <u> </u>
$s = preg_replace(\'/\\[u\\]/\', \'[u:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/u\\]/\', \'[/u:\'.$bbcode_uid.\']\', $s);
// quote
$s = preg_replace(\'/\\[quote\\]/\', \'[quote:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/quote\\]/\', \'[/quote:\'.$bbcode_uid.\']\', $s);
// url with "
$s = preg_replace(\'/\\[url=\\\\\\"\\;(.*?)\\\\\\"\\;\\](.*?)/\', \'[url=\\\\1]\\\\2\', $s);
// image
$s = preg_replace(\'/\\[img(.*?)\\](.*?)\\[\\/img(.*?)\\]/si\', \'[img:\'.$bbcode_uid.\']\'.\'\\\\2[/img:\'.$bbcode_uid.\']\', $s);
// color
$s = preg_replace(\'/\\[color=(.*?)\\]/\', \'[color=\\\\1:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/color\\]/\', \'[/color:\'.$bbcode_uid.\']\', $s);
// size fb uses size 1 to 5, phpbb2 uses size 1 to 29; will use 1 = 7, 2=9, 3=12, 4=18, 5=24
$s = preg_replace(\'/\\[size=1\\]/\', \'[size=7:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[size=2\\]/\', \'[size=9:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[size=3\\]/\', \'[size=12:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[size=4\\]/\', \'[size=18:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[size=5\\]/\', \'[size=24:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/size\\]/\', \'[/size:\'.$bbcode_uid.\']\', $s);
// code
$s = preg_replace(\'/\\[code(.*?)\\]/\',\'[code:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/code(.*?)\\]/\', \'[/code:\'.$bbcode_uid.\']\', $s);
// lists
$s = preg_replace(\'/\\[ul\\]/\', \'[list:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/ul\\]/\', \'[/list:u:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[ol\\]/\', \'[list=1:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/ol\\]/\', \'[/list:o:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[li\\]/\', \'[*:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/li\\]/\', \'\', $s);
return $s;
}
// fixed the quotes.
function fixquotes($q) {
global $bbcode_uid;
$q = preg_replace(\'/\\[b:\'.$bbcode_uid.\'\\](.*?) wrote:\\[\\/b:\'.$bbcode_uid.\'\\]\\r\\n\\[quote:\'.$bbcode_uid.\'\\]/\', \'[quote:\'.$bbcode_uid.\'=\"\\\\1\"]\', $q );
return $q;
}
// function taken from phpbb2 functions file Unique ID for this message..
function make_bbcode_uid()
{
$uid = md5(mt_rand());
$uid = substr($uid, 0, BBCODE_UID_LEN);
return $uid;
}
//last minute accounts to be added note phpbb2admin password is \"admn\" Besure to remove once you have tested the site.
//After doing this, I\'d suggest copying the admin password from
//a known quantity, not this one. It didn\'t work for me and
//phpbb2admin had to do the forgot password thing like everyone
//else. Also, I\'d suggest making the email address (just below
//here) a variable for the config lines at the beginning.
//--Chris
$query = \"INSERT INTO {$phpbb_dbprefix}users (user_id, user_active, username, user_password, user_session_time, user_session_page, user_lastvisit, user_regdate, user_level, user_posts, user_timezone, user_style, user_lang, user_dateformat, user_new_privmsg, user_unread_privmsg, user_last_privmsg, user_login_tries, user_last_login_try, user_emailtime, user_viewemail, user_attachsig, user_allowhtml, user_allowbbcode, user_allowsmile, user_allowavatar, user_allow_pm, user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm, user_rank, user_avatar, user_avatar_type, user_email, user_icq, user_website, user_from, user_sig, user_sig_bbcode_uid, user_aim, user_yim, user_msnm, user_occ, user_interests, user_actkey, user_newpasswd) VALUES
(-1, 0, \'Anonymous\', \'\', 0, 0, 0, 0, 0, 0, 0.00, NULL, \'\', \'\', 0, 0, 0, 0, 0, NULL, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, NULL, \'\', 0, \'\', \'\', \'\', \'\', \'\', NULL, \'\', \'\', \'\', \'\', \'\', \'\', \'\'),
(2, 1, \'phpbb2admin\', \'21232f297a57a5a743894a0e4a801fc3\', 1198282415, 0, 1198282415, 0, 1, 1, 0.00, 1, \'english\', \'d M Y h:i a\', 0, 0, 0, 0, 0, NULL, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, \'\', 0, \'myadmin@my_site.com\', \'\', \'\', \'\', \'\', NULL, \'\', \'\', \'\', \'\', \'\', \'\', \'\');\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}user_group (group_id, user_id, user_pending) VALUES
(1, -1, 0),
(2, 2, 0);\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
?>[/code]
|
|
|
| Re:Fireboard to phpBB3 ! 3 Years, 1 Month ago |
|
this might seem like a stupid question to somone who has done this type of thing before but, to call a script, you simply go to the name of the php file in the browser right? eg [code]http://localhost/convert.php[/code]
if this is so, when i call the script nothing happens. just a blank page..
|
|
|
| Re:Fireboard to phpBB3 ! 3 Years, 1 Month ago |
|
dont know why, but the code that you provided above does not work. its probably just a syntax error or something from copying it here but the following code from your post on phpbb forums does work great :)
this is what worked for me, from 1.0.5RC2 to PHPBB2.0.2 im running the conversion to phpbb3 as we speak. the conversion to phpbb worked great though.
[code]
<?php
/*
Fireboard 1.0.x to phbBB2 2.0.x converter
0.0 Based on the phpbb2tosb.php script by Olle Johansson http://mambo.theyard.org/ and from Marcos Osorno http://www.blort.com
0.1 Based upon updated script from http://www.phpbb.com/community/viewtopic.php?f=10&t=371271&p=2026820
0.2 The tweeks here are based on
http://www.phpbb.com/community/viewtopic.php?f=10&t=588149#p3598205
0.3 Slight change to avoid the \' issue (breaking the script if \' appears)
* Tested on: phpBB 2.0.22, Joomla 1.0.13 w/ Fireboard 1.0.3, PHP 5.2.3, MySQL 5.0.45
* Tested by executing from within the phpBB directory
* Will DESTROY all the data in your phpBB db and replace it with SB data! Does not append!
-------------Config---------------------*/
//MySQL Database host - usually \'localhost\'
$host=\'localhost\';
// Your MySQL Database user
$user=\'xxxx\';
// Your MySQL Database password
$pass=\'xxxx\';
// Your MySQL Database name
$db=\'xxxx\';
// Joomla database prefix - Use existing Prefix
$mosConfig_dbprefix = \"jos_\";
// phpBB2 database prefix - Use existing Prefix
$phpbb_dbprefix = \"phpbb2_\";
// Temp DB prefix used for temporary tables in the script
// set this to a prefix you are NOT using on your mySQL db
$temp_dbprefix = \"temp_\";
/* ---------------------------------------*/
define(\"BBCODE_UID_LEN\", 10);
$bbcode_on = \'true\';
ini_set(\"magic_quotes_gpc\", \"1\");
set_magic_quotes_runtime ( 0 );
echo \"<?xml version=\\\"1.0\\\"?>\";
echo \"<!DOCTYPE html PUBLIC \\\"-//W3C//DTD XHTML 1.0 Transitional//EN\\\" \\\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\\\">\";
echo \"<html xmlns=\\\"http://www.w3.org/1999/xhtml\\\">\";
echo \"<head>\";
echo \"<title>Importing data from Fireboard</title>\";
echo \"<meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html; iso-8859-1\\\" />\";
echo \"</head>\";
echo \"<body>\";
echo \"<h1>Importing data from Fireboard</h1>\"; flush();
//Connect to and select Database
echo \"Connecting to Database...\\n\"; flush();
$lnk = mysql_connect($host, $user, $pass) or die (\'Not connected: \' . mysql_error());
$sqlFix = \"SET SESSION SQL_BIG_SELECTS=1\";
$resFix = mysql_query($sqlFix);
mysql_select_db($db, $lnk) or die(\'Error: \'.mysql_error());
echo \"OK\\n\"; flush();
// PHPBB Categories > Forums > Topics > Posts > Posts Text
// Part One - Populate Categories
echo \"<br />Populating Categories...\\n\"; flush();
// Import the main categories
// Prune those Fireboard categories which have a parent
// Multiply the ordering by 10 to conform to phpbb2 format
// if fb_categories.parent = 0 then category is a phpbb cateogory
//I did away with the pruning of Fireboard categories with a
//parent. I took the 0 out of the where clause and got
//everything since I had child boards. This is an area that
//will need a clean up to go to phpBB3.
//clear phpbb categories table
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}categories\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// if fb_categories.parent = 0 then category is a category
$query = \"INSERT INTO {$phpbb_dbprefix}categories (cat_id, cat_title, cat_order)
SELECT id, name, ordering*10
FROM {$mosConfig_dbprefix}fb_categories
ORDER by ordering\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
//Count Rows Inserted
$query = \"SELECT COUNT(*)
FROM {$phpbb_dbprefix}categories;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Rows... OK\"; flush();
// clear phpbb forums table
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}forums\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// Part Two - Populate Forums
// phpbb2 considers category header messages as forums
// these are indicated in sb by setting fb_messages.id=sb_messages.thread
// the actual messages can be detected by seeing that fb_messages.parent != 0
echo \"<br />Populating Forums...\\n\"; flush();
$query = \"INSERT INTO {$phpbb_dbprefix}forums (forum_id, cat_id, forum_name, forum_desc, forum_status, forum_order, forum_posts, forum_topics, forum_last_post_id, prune_next, prune_enable, auth_view, auth_read, auth_post, auth_reply, auth_edit,auth_delete, auth_sticky, auth_announce, auth_vote, auth_pollcreate, auth_attachments)
SELECT id, parent, name, description, 0, ordering, c.posts, b.topics, d.last, NULL, 0, 0, 1, 1, 1, 1, 1, 3, 3, 1, 1, 0
FROM {$mosConfig_dbprefix}fb_categories
LEFT JOIN (SELECT catid, COUNT(*) AS topics FROM {$mosConfig_dbprefix}fb_messages WHERE id=thread GROUP BY catid) b
ON {$mosConfig_dbprefix}fb_categories.id=b.catid
LEFT JOIN (SELECT catid, COUNT(*) AS posts FROM {$mosConfig_dbprefix}fb_messages GROUP BY catid) c
ON {$mosConfig_dbprefix}fb_categories.id=c.catid
LEFT JOIN (SELECT catid, MAX(id) AS last FROM {$mosConfig_dbprefix}fb_messages GROUP BY catid) d
ON {$mosConfig_dbprefix}fb_categories.id=d.catid
WHERE parent != 0
GROUP BY id;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
//Count Rows Inserted
$query = \"SELECT COUNT(*)
FROM {$phpbb_dbprefix}forums;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Rows... OK\"; flush();
// Part Three - Populate Topics
// if fb_messages.parent = 0 then messages is a topic
echo \"<br />Populating Topics...\\n\"; flush();
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}topics\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// Some messages still had the single quote in them without a \\
// which was causing import problems so we
// removed the single quote and replaced it with HTML for the quote
// Run a query taking simple board messages and finding which are topics by thread=id then merge with count table above
// also subtract one from the reply count because it counts itself under this algorithm
$query = \"SELECT m.id, m.catid, m.userid, m.subject, m.time, m.hits, reply - 1 AS reply, locked, \'0\', \'0\', c.min, c.max, \'0\'
FROM {$mosConfig_dbprefix}fb_messages AS m
JOIN (SELECT thread, MIN(id) AS min, MAX(id) as max, COUNT(id) as reply
FROM {$mosConfig_dbprefix}fb_messages GROUP BY thread) c
WHERE m.thread=m.id AND m.parent=0 AND c.thread=m.thread\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
while ( $row = mysql_fetch_object( $result ) ) {
$subject = stripslashes( $row->subject );
$subject = preg_replace (\'/\\\'/\', \'\\\\\\\'\', $subject);
$query = \"INSERT INTO {$phpbb_dbprefix}topics(topic_id, forum_id, topic_poster, topic_title, topic_time,topic_views, topic_replies, topic_status, topic_vote, topic_type,topic_first_post_id, topic_last_post_id, topic_moved_id)VALUES (\'$row->id\', \'$row->catid\', \'$row->userid\', \'$subject\', \'$row->time\',\'$row->hits\', \'$row->reply\', \'$row->locked\', \'0\', \'\',\'$row->min\', \'$row->max\', \'0\')\";
$updateresult = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
}
mysql_free_result($result);
//Count Rows Inserted
$query = \"SELECT COUNT(*)
FROM {$phpbb_dbprefix}topics;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Rows... OK\\n\"; flush();
// Part Four - Populate Messages Table
echo \"<br />Populating Posts...\\n\"; flush();
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}posts\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}posts (post_id, topic_id, forum_id, poster_id, post_time, poster_ip, post_username, enable_bbcode, enable_html, enable_smilies, enable_sig, post_edit_time, post_edit_count)
SELECT id, thread, catid, userid, time, HEX(INET_ATON(ip)), name, 1, 0, topic_emoticon, 1, NULL, 0 FROM {$mosConfig_dbprefix}fb_messages\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"SELECT COUNT(*) FROM {$phpbb_dbprefix}posts;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Rows... OK\"; flush();
//Populate Messages_Text Table
echo \"<br />Populating Post Text & Converting Fireboard Syntax to phhBB Syntax... (This may take a while)\\n\"; flush();
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}posts_text\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"SELECT m.id, m.subject, t.message
FROM {$mosConfig_dbprefix}fb_messages_text AS t, {$mosConfig_dbprefix}fb_messages AS m WHERE m.id = t.mesid\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// uses phpbb\'s bbcode encoder to make a uid for each message
// which is required for the bbcode to work in phpbb
while ( $row = mysql_fetch_object( $result ) ) {
$bbcode_uid = ( $bbcode_on ) ? make_bbcode_uid() : \'\';
$message = prep ( $row->message);
$message = fixquotes ($message);
$message = mysql_real_escape_string ($message);
$subject = stripslashes( $row->subject );
$subject = preg_replace (\'/\\\'/\', \'\\\\\\\'\', $subject);
$query = \"INSERT INTO {$phpbb_dbprefix}posts_text (post_id, bbcode_uid, post_subject, post_text)
VALUES (\'$row->id\',\'$bbcode_uid\', \'$subject\', \'$message\')\";
$updateresult = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
}
mysql_free_result($result);
//Count Rows Inserted
$query = \"SELECT COUNT(*) FROM {$phpbb_dbprefix}posts_text;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Rows... OK\\n\"; flush();
//Populate Users Table , Note user_sig_bbcode_uid is a radom, md5 checksum
echo \"<br />Populating Users Table From Joomla...\\n\";
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}users\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}users (user_id, user_active, username, user_password, user_session_time, user_lastvisit, user_regdate, user_level, user_dateformat, user_email)
SELECT id,
CASE block
WHEN 0 THEN 1
ELSE 0 END,
username,
password,
UNIX_TIMESTAMP(lastvisitDate),
UNIX_TIMESTAMP(lastvisitDate),
UNIX_TIMESTAMP(registerDate),
CASE gid
WHEN 25 THEN 1
WHEN 24 THEN 1
ELSE 0 END,
\'d M Y H:i\',
email
FROM {$mosConfig_dbprefix}users ORDER by id;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"SELECT COUNT(*) FROM {$phpbb_dbprefix}users;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Users... OK\\n\"; flush();
//Update Info From Fireboard
echo \"<br />Updating Users Table From Fireboard...\\n\";
$query = \"UPDATE {$phpbb_dbprefix}users, {$mosConfig_dbprefix}fb_users
SET user_posts=posts, user_avatar=avatar, user_icq=ICQ, user_website=websitename, user_from=location, user_sig=signature, user_aim=AIM, user_yim=YIM, user_msnm=MSN, user_interests=personalText
WHERE user_id=userid;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// uses phpbb\'s bbcode encoder to make a uid for each message
// which is required for the bbcode to work in phpbb
// clean up bbcode in signatures and ad bbcode_uid
// Fireboard had inserted backslashes \\\\ everywhere which was
// causing lots of trouble. I punted
// and selected the signature as null, in effect, leaving it
// behind. Not worth the trouble for me to clean it up. Users
// can put their sigs back themselves.
//$query = \"SELECT user_id, signature
$query = \"SELECT user_id, NULL
FROM {$phpbb_dbprefix}users
ORDER BY user_id;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
while ( $row = mysql_fetch_object( $result ) ) {
$bbcode_uid = ( $bbcode_on ) ? make_bbcode_uid() : \'\';
$signature = prep ( $row->user_sig);
$signature = preg_replace (\'/\\\'/\', \'\\\\\\\'\', $signature);
$query = \"UPDATE {$phpbb_dbprefix}users
SET user_sig=\'$signature\', user_sig_bbcode_uid=\'$bbcode_uid\'
WHERE user_id=$row->user_id\";
$updateresult = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
}
mysql_free_result($result);
$query = \"SELECT COUNT(*) FROM {$phpbb_dbprefix}users;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
//Clean up avatar, only for off site avatar, Onsite Avatars will be deleted
echo \"<br />Updated $count Users... OK\\n\"; flush();
$query = \"UPDATE {$phpbb_dbprefix}users
SET user_avatar_type = 3
WHERE user_avatar LIKE \'http://%\';\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"UPDATE {$phpbb_dbprefix}users
SET user_avatar_type = 0, user_avatar = NULL
WHERE user_avatar NOT LIKE \'http://%\';\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// create a group for each user
echo \"<br />Updating Users Groups...\\n\"; flush();
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}groups\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}groups (group_id, group_type, group_name, group_description, group_moderator, group_single_user)
SELECT user_id, \'1\', \'\', \'Personal User\', \'0\', \'1\'
FROM {$phpbb_dbprefix}users ORDER BY user_id\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// have each user join their own group
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}user_group\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}user_group (group_id, user_id, user_pending)
SELECT user_id, user_id, \'0\'
FROM {$phpbb_dbprefix}users
ORDER BY user_id\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
echo \"OK\\n\"; flush();
//insert ranks
echo \"<br />Inserting User Ranks...\\n\"; flush();
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}ranks\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}ranks (rank_id, rank_title, rank_min, rank_special, rank_image) SELECT rank_id, rank_title, rank_min, rank_special, rank_image
FROM {$mosConfig_dbprefix}fb_ranks
ORDER BY rank_id\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
echo \"OK\\n\"; flush();
echo \"<br />Complete...\\n\"; flush();
echo \"</body>\";
echo \"</html>\"; flush();
//--- Function to prepare strings for MySQL storage ---/
function prep($s) {
// Insert bbcode_uid necessary for bbcode to be recognized by phpbb2
global $bbcode_uid;
// <strong> </strong>
$s = preg_replace(\'/\\[b\\]/\', \'[b:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/b\\]/\', \'[/b:\'.$bbcode_uid.\']\', $s);
// <em> </em>
$s = preg_replace(\'/\\[i\\]/\', \'[i:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/i\\]/\', \'[/i:\'.$bbcode_uid.\']\', $s);
// <u> </u>
$s = preg_replace(\'/\\[u\\]/\', \'[u:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/u\\]/\', \'[/u:\'.$bbcode_uid.\']\', $s);
// quote
$s = preg_replace(\'/\\[quote\\]/\', \'[quote:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/quote\\]/\', \'[/quote:\'.$bbcode_uid.\']\', $s);
// url with "
$s = preg_replace(\'/\\[url=\\\\\\"\\;(.*?)\\\\\\"\\;\\](.*?)/\', \'[url=\\\\1]\\\\2\', $s);
// image
$s = preg_replace(\'/\\[img(.*?)\\](.*?)\\[\\/img(.*?)\\]/si\', \'[img:\'.$bbcode_uid.\']\'.\'\\\\2[/img:\'.$bbcode_uid.\']\', $s);
// color
$s = preg_replace(\'/\\[color=(.*?)\\]/\', \'[color=\\\\1:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/color\\]/\', \'[/color:\'.$bbcode_uid.\']\', $s);
// size fb uses size 1 to 5, phpbb2 uses size 1 to 29; will use 1 = 7, 2=9, 3=12, 4=18, 5=24
$s = preg_replace(\'/\\[size=1\\]/\', \'[size=7:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[size=2\\]/\', \'[size=9:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[size=3\\]/\', \'[size=12:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[size=4\\]/\', \'[size=18:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[size=5\\]/\', \'[size=24:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/size\\]/\', \'[/size:\'.$bbcode_uid.\']\', $s);
// code
$s = preg_replace(\'/\\[code(.*?)\\]/\',\'[code:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/code(.*?)\\]/\', \'[/code:\'.$bbcode_uid.\']\', $s);
// lists
$s = preg_replace(\'/\\[ul\\]/\', \'[list:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/ul\\]/\', \'[/list:u:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[ol\\]/\', \'[list=1:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/ol\\]/\', \'[/list:o:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[li\\]/\', \'[*:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/\\[\\/li\\]/\', \'\', $s);
return $s;
}
// fixed the quotes.
function fixquotes($q) {
global $bbcode_uid;
$q = preg_replace(\'/\\[b:\'.$bbcode_uid.\'\\](.*?) wrote:\\[\\/b:\'.$bbcode_uid.\'\\]\\r\\n\\[quote:\'.$bbcode_uid.\'\\]/\', \'[quote:\'.$bbcode_uid.\'=\"\\\\1\"]\', $q );
return $q;
}
// function taken from phpbb2 functions file Unique ID for this message..
function make_bbcode_uid()
{
$uid = md5(mt_rand());
$uid = substr($uid, 0, BBCODE_UID_LEN);
return $uid;
}
//last minute accounts to be added note phpbb2admin password is \"admn\" Besure to remove once you have tested the site.
//After doing this, I\'d suggest copying the admin password from
//a known quantity, not this one. It didn\'t work for me and
//phpbb2admin had to do the forgot password thing like everyone
//else. Also, I\'d suggest making the email address (just below
//here) a variable for the config lines at the beginning.
//--Chris
$query = \"INSERT INTO {$phpbb_dbprefix}users (user_id, user_active, username, user_password, user_session_time, user_session_page, user_lastvisit, user_regdate, user_level, user_posts, user_timezone, user_style, user_lang, user_dateformat, user_new_privmsg, user_unread_privmsg, user_last_privmsg, user_login_tries, user_last_login_try, user_emailtime, user_viewemail, user_attachsig, user_allowhtml, user_allowbbcode, user_allowsmile, user_allowavatar, user_allow_pm, user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm, user_rank, user_avatar, user_avatar_type, user_email, user_icq, user_website, user_from, user_sig, user_sig_bbcode_uid, user_aim, user_yim, user_msnm, user_occ, user_interests, user_actkey, user_newpasswd) VALUES
(-1, 0, \'Anonymous\', \'\', 0, 0, 0, 0, 0, 0, 0.00, NULL, \'\', \'\', 0, 0, 0, 0, 0, NULL, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, NULL, \'\', 0, \'\', \'\', \'\', \'\', \'\', NULL, \'\', \'\', \'\', \'\', \'\', \'\', \'\'),
(2, 1, \'phpbb2admin\', \'21232f297a57a5a743894a0e4a801fc3\', 1198282415, 0, 1198282415, 0, 1, 1, 0.00, 1, \'english\', \'d M Y h:i a\', 0, 0, 0, 0, 0, NULL, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, \'\', 0, \'myadmin@my_site.com\', \'\', \'\', \'\', \'\', NULL, \'\', \'\', \'\', \'\', \'\', \'\', \'\');\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}user_group (group_id, user_id, user_pending) VALUES
(1, -1, 0),
(2, 2, 0);\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
?>
[/code]
|
|
|
| Re:Fireboard to phpBB3 ! 3 Years, 1 Month ago |
|
So for anyone wanting to Convert Fireboard to PHPBB3 you have to go through the above process to convert your forum to phpbb2 via the MySQL database, then upgrade the phpbb2 forum to phpbb3. everything works great, ive done it and am now running PHPBB3 on my joomla site via jfusion. to kick the SEO up another notch on the forum, i threw a nofollow,noindex on the link to the forum and am running the forum from a subdomain forum.xxx.com. then you just add the subdomain to google to get indexed and BAM, the forum gets indexed through the subdomain 10x better than fireboard and you are running a full function board through joomla.
im going to continue to run fireboard on my other site that has a support forum on it, just for the simple fact that its soo easy to maintain and upkeep, but for a community site, its a little lacking in functions and SEO.
|
|
|
| Re:Fireboard to phpBB3 ! 3 Years, 1 Month ago |
|
could someone assist..
I have download and install phpbb2 as mentioned and have attempted to run the script but am getting the following error:
http://hostnetworking.com/forums/convert.php
Parse error: syntax error, unexpected T_STRING in /home/hostnet/public_html/forums/convert.php on line 15
[quote]-------------Config---------------------*/
//MySQL Database host - usually \'localhost\'
$host=\'localhost\';
// Your MySQL Database user
$user=\'hostnet_fireb\';
// Your MySQL Database password
$pass=\'fireboard\';
// Your MySQL Database name
$db=\'hostnet_fireb\';
// Joomla database prefix - Use existing Prefix
$mosConfig_dbprefix = \"jos_fb_\";
// phpBB2 database prefix - Use existing Prefix
$phpbb_dbprefix = \"phpbb_\";
// Temp DB prefix used for temporary tables in the script
// set this to a prefix you are NOT using on your mySQL db
$temp_dbprefix = \"temp_\";
/* ---------------------------------------*/[/quote]
have I done anything wrong here?
Chris
|
|
|
| Re:Fireboard to phpBB3 ! 3 Years, 1 Month ago |
|
Com\' on man, why don\'t you google things like that. :dry:
[url]http://www.parse-error-unexpected-t-string.com/[/url]
|
|
|
| Re:Fireboard to phpBB3 ! 3 Years, 1 Month ago |
|
this is the code i have used.
please help me :(
[quote]<?php
/*
Fireboard 1.0.x to phbBB2 2.0.x converter
0.0 Based on the phpbb2tosb.php script by Olle Johansson http://mambo.theyard.org/ and from Marcos Osorno http://www.blort.com
0.1 Based upon updated script from http://www.phpbb.com/community/viewtopic.php?f=10&t=371271&p=2026820
0.2 The tweeks here are based on
http://www.phpbb.com/community/viewtopic.php?f=10&t=588149#p3598205
0.3 Slight change to avoid the \' issue (breaking the script if \' appears)
* Tested on: phpBB 2.0.22, Joomla 1.0.13 w/ Fireboard 1.0.3, Fireboard 1.0.5 RC2, PHP 5.2.3, MySQL 5.0.45
* Tested by executing from within the phpBB directory
* Will DESTROY all the data in your phpBB db and replace it with SB data! Does not append!
-------------Config---------------------*/
// MySQL Database host - usually \'localhost\'
$host=\'localhost\';
// Your MySQL Database user
$user=\'hostnet_fireb\';
// Your MySQL Database password
$pass=\'fireboard\';
// Your MySQL Database name
$db=\'hostnet_fireb\';
// Joomla database prefix - Use existing Prefix
$mosConfig_dbprefix = \"jos_fb_\";
// phpBB2 database prefix - Use existing Prefix
$phpbb_dbprefix = \"phpbb_\";
// Temp DB prefix used for temporary tables in the script
// set this to a prefix you are NOT using on your mySQL db
$temp_dbprefix = \"temp_\";
/* ---------------------------------------*/
define(\"BBCODE_UID_LEN\", 10);
$bbcode_on = \'true\';
ini_set(\"magic_quotes_gpc\", \"1\");
set_magic_quotes_runtime ( 0 );
echo \"<?xml version=\"1.0\"?>\";
echo \"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\";
echo \"<html xmlns=\"http://www.w3.org/1999/xhtml\">\";
echo \"<head>\";
echo \"<title>Importing data from Fireboard</title>\";
echo \"<meta http-equiv=\"Content-Type\" content=\"text/html; iso-8859-1\" />\";
echo \"</head>\";
echo \"<body>\";
echo \"<h1>Importing data from Fireboard</h1>\"; flush();
//Connect to and select Database
echo \"Connecting to Database...n\"; flush();
$lnk = mysql_connect($host, $user, $pass) or die (\'Not connected: \' . mysql_error());
$sqlFix = \"SET SESSION SQL_BIG_SELECTS=1\";
$resFix = mysql_query($sqlFix);
mysql_select_db($db, $lnk) or die(\'Error: \'.mysql_error());
echo \"OKn\"; flush();
// PHPBB Categories > Forums > Topics > Posts > Posts Text
// Part One - Populate Categories
echo \"<br />Populating Categories...n\"; flush();
// Import the main categories
// Prune those Fireboard categories which have a parent
// Multiply the ordering by 10 to conform to phpbb2 format
// if fb_categories.parent = 0 then category is a phpbb cateogory
//I did away with the pruning of Fireboard categories with a
//parent. I took the 0 out of the where clause and got
//everything since I had child boards. This is an area that
//will need a clean up to go to phpBB3.
//clear phpbb categories table
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}categories\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// if fb_categories.parent = 0 then category is a category
$query = \"INSERT INTO {$phpbb_dbprefix}categories (cat_id, cat_title, cat_order)
SELECT id, name, ordering*10
FROM {$mosConfig_dbprefix}fb_categories
ORDER by ordering\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
//Count Rows Inserted
$query = \"SELECT COUNT(*)
FROM {$phpbb_dbprefix}categories;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Rows... OK\"; flush();
// clear phpbb forums table
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}forums\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// Part Two - Populate Forums
// phpbb2 considers category header messages as forums
// these are indicated in sb by setting fb_messages.id=sb_messages.thread
// the actual messages can be detected by seeing that fb_messages.parent != 0
echo \"<br />Populating Forums...n\"; flush();
$query = \"INSERT INTO {$phpbb_dbprefix}forums (forum_id, cat_id, forum_name, forum_desc, forum_status, forum_order, forum_posts, forum_topics, forum_last_post_id, prune_next, prune_enable, auth_view, auth_read, auth_post, auth_reply, auth_edit,auth_delete, auth_sticky, auth_announce, auth_vote, auth_pollcreate, auth_attachments)
SELECT id, parent, name, description, 0, ordering, c.posts, b.topics, d.last, NULL, 0, 0, 1, 1, 1, 1, 1, 3, 3, 1, 1, 0
FROM {$mosConfig_dbprefix}fb_categories
LEFT JOIN (SELECT catid, COUNT(*) AS topics FROM {$mosConfig_dbprefix}fb_messages WHERE id=thread GROUP BY catid) b
ON {$mosConfig_dbprefix}fb_categories.id=b.catid
LEFT JOIN (SELECT catid, COUNT(*) AS posts FROM {$mosConfig_dbprefix}fb_messages GROUP BY catid) c
ON {$mosConfig_dbprefix}fb_categories.id=c.catid
LEFT JOIN (SELECT catid, MAX(id) AS last FROM {$mosConfig_dbprefix}fb_messages GROUP BY catid) d
ON {$mosConfig_dbprefix}fb_categories.id=d.catid
WHERE parent != 0
GROUP BY id;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
//Count Rows Inserted
$query = \"SELECT COUNT(*)
FROM {$phpbb_dbprefix}forums;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Rows... OK\"; flush();
// Part Three - Populate Topics
// if fb_messages.parent = 0 then messages is a topic
echo \"<br />Populating Topics...n\"; flush();
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}topics\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// Some messages still had the single quote in them without a
// which was causing import problems so we
// removed the single quote and replaced it with HTML for the quote
// Run a query taking simple board messages and finding which are topics by thread=id then merge with count table above
// also subtract one from the reply count because it counts itself under this algorithm
$query = \"SELECT m.id, m.catid, m.userid, m.subject, m.time, m.hits, reply - 1 AS reply, locked, \'0\', \'0\', c.min, c.max, \'0\'
FROM {$mosConfig_dbprefix}fb_messages AS m
JOIN (SELECT thread, MIN(id) AS min, MAX(id) as max, COUNT(id) as reply
FROM {$mosConfig_dbprefix}fb_messages GROUP BY thread) c
WHERE m.thread=m.id AND m.parent=0 AND c.thread=m.thread\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
while ( $row = mysql_fetch_object( $result ) ) {
$subject = stripslashes( $row->subject );
$subject = preg_replace (\'/\'/\', \'\\\'\', $subject);
$query = \"INSERT INTO {$phpbb_dbprefix}topics(topic_id, forum_id, topic_poster, topic_title, topic_time,topic_views, topic_replies, topic_status, topic_vote, topic_type,topic_first_post_id, topic_last_post_id, topic_moved_id)VALUES (\'$row->id\', \'$row->catid\', \'$row->userid\', \'$subject\', \'$row->time\',\'$row->hits\', \'$row->reply\', \'$row->locked\', \'0\', \'\',\'$row->min\', \'$row->max\', \'0\')\";
$updateresult = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
}
mysql_free_result($result);
//Count Rows Inserted
$query = \"SELECT COUNT(*)
FROM {$phpbb_dbprefix}topics;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Rows... OKn\"; flush();
// Part Four - Populate Messages Table
echo \"<br />Populating Posts...n\"; flush();
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}posts\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}posts (post_id, topic_id, forum_id, poster_id, post_time, poster_ip, post_username, enable_bbcode, enable_html, enable_smilies, enable_sig, post_edit_time, post_edit_count)
SELECT id, thread, catid, userid, time, HEX(INET_ATON(ip)), name, 1, 0, topic_emoticon, 1, NULL, 0 FROM {$mosConfig_dbprefix}fb_messages\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"SELECT COUNT(*) FROM {$phpbb_dbprefix}posts;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Rows... OK\"; flush();
//Populate Messages_Text Table
echo \"<br />Populating Post Text & Converting Fireboard Syntax to phhBB Syntax... (This may take a while)n\"; flush();
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}posts_text\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"SELECT m.id, m.subject, t.message
FROM {$mosConfig_dbprefix}fb_messages_text AS t, {$mosConfig_dbprefix}fb_messages AS m WHERE m.id = t.mesid\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// uses phpbb\'s bbcode encoder to make a uid for each message
// which is required for the bbcode to work in phpbb
while ( $row = mysql_fetch_object( $result ) ) {
$bbcode_uid = ( $bbcode_on ) ? make_bbcode_uid() : \'\';
$message = prep ( $row->message);
$message = fixquotes ($message);
$message = mysql_real_escape_string ($message);
$subject = stripslashes( $row->subject );
$subject = preg_replace (\'/\'/\', \'\\\'\', $subject);
$query = \"INSERT INTO {$phpbb_dbprefix}posts_text (post_id, bbcode_uid, post_subject, post_text)
VALUES (\'$row->id\',\'$bbcode_uid\', \'$subject\', \'$message\')\";
$updateresult = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
}
mysql_free_result($result);
//Count Rows Inserted
$query = \"SELECT COUNT(*) FROM {$phpbb_dbprefix}posts_text;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Rows... OKn\"; flush();
//Populate Users Table , Note user_sig_bbcode_uid is a radom, md5 checksum
echo \"<br />Populating Users Table From Joomla...n\";
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}users\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}users (user_id, user_active, username, user_password, user_session_time, user_lastvisit, user_regdate, user_level, user_dateformat, user_email)
SELECT id,
CASE block
WHEN 0 THEN 1
ELSE 0 END,
username,
password,
UNIX_TIMESTAMP(lastvisitDate),
UNIX_TIMESTAMP(lastvisitDate),
UNIX_TIMESTAMP(registerDate),
CASE gid
WHEN 25 THEN 1
WHEN 24 THEN 1
ELSE 0 END,
\'d M Y H:i\',
email
FROM {$mosConfig_dbprefix}users ORDER by id;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"SELECT COUNT(*) FROM {$phpbb_dbprefix}users;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
echo \"<br />Inserted $count Users... OKn\"; flush();
//Update Info From Fireboard
echo \"<br />Updating Users Table From Fireboard...n\";
$query = \"UPDATE {$phpbb_dbprefix}users, {$mosConfig_dbprefix}fb_users
SET user_posts=posts, user_avatar=avatar, user_icq=ICQ, user_website=websitename, user_from=location, user_sig=signature, user_aim=AIM, user_yim=YIM, user_msnm=MSN, user_interests=personalText
WHERE user_id=userid;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// uses phpbb\'s bbcode encoder to make a uid for each message
// which is required for the bbcode to work in phpbb
// clean up bbcode in signatures and ad bbcode_uid
// Fireboard had inserted backslashes \\ everywhere which was
// causing lots of trouble. I punted
// and selected the signature as null, in effect, leaving it
// behind. Not worth the trouble for me to clean it up. Users
// can put their sigs back themselves.
//$query = \"SELECT user_id, signature
$query = \"SELECT user_id, NULL
FROM {$phpbb_dbprefix}users
ORDER BY user_id;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
while ( $row = mysql_fetch_object( $result ) ) {
$bbcode_uid = ( $bbcode_on ) ? make_bbcode_uid() : \'\';
$signature = prep ( $row->user_sig);
$signature = preg_replace (\'/\'/\', \'\\\'\', $signature);
$query = \"UPDATE {$phpbb_dbprefix}users
SET user_sig=\'$signature\', user_sig_bbcode_uid=\'$bbcode_uid\'
WHERE user_id=$row->user_id\";
$updateresult = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
}
mysql_free_result($result);
$query = \"SELECT COUNT(*) FROM {$phpbb_dbprefix}users;\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
list($count) = mysql_fetch_row($result);
//Clean up avatar, only for off site avatar, Onsite Avatars will be deleted
echo \"<br />Updated $count Users... OKn\"; flush();
$query = \"UPDATE {$phpbb_dbprefix}users
SET user_avatar_type = 3
WHERE user_avatar LIKE \'http://%\';\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"UPDATE {$phpbb_dbprefix}users
SET user_avatar_type = 0, user_avatar = NULL
WHERE user_avatar NOT LIKE \'http://%\';\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// create a group for each user
echo \"<br />Updating Users Groups...n\"; flush();
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}groups\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}groups (group_id, group_type, group_name, group_description, group_moderator, group_single_user)
SELECT user_id, \'1\', \'\', \'Personal User\', \'0\', \'1\'
FROM {$phpbb_dbprefix}users ORDER BY user_id\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
// have each user join their own group
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}user_group\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}user_group (group_id, user_id, user_pending)
SELECT user_id, user_id, \'0\'
FROM {$phpbb_dbprefix}users
ORDER BY user_id\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
echo \"OKn\"; flush();
//insert ranks
echo \"<br />Inserting User Ranks...n\"; flush();
$query = \"TRUNCATE TABLE {$phpbb_dbprefix}ranks\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}ranks (rank_id, rank_title, rank_min, rank_special, rank_image) SELECT rank_id, rank_title, rank_min, rank_special, rank_image
FROM {$mosConfig_dbprefix}fb_ranks
ORDER BY rank_id\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
echo \"OKn\"; flush();
echo \"<br />Complete...n\"; flush();
echo \"</body>\";
echo \"</html>\"; flush();
//--- Function to prepare strings for MySQL storage ---/
function prep($s) {
// Insert bbcode_uid necessary for bbcode to be recognized by phpbb2
global $bbcode_uid;
// <strong> </strong>
$s = preg_replace(\'/[b]/\', \'[b:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[/b]/\', \'[/b:\'.$bbcode_uid.\']\', $s);
// <em> </em>
$s = preg_replace(\'/[i]/\', \'[i:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[/i]/\', \'[/i:\'.$bbcode_uid.\']\', $s);
// <u> </u>
$s = preg_replace(\'/[u]/\', \'[u:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[/u]/\', \'[/u:\'.$bbcode_uid.\']\', $s);
// quote
$s = preg_replace(\'/[quote]/\', \'[quote:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[/quote]/\', \'[/quote:\'.$bbcode_uid.\']\', $s);
// url with "
$s = preg_replace(\'/[url=\\"(.*?)\\"](.*?)/\', \'[url=\\1]\\2\', $s);
// image
$s = preg_replace(\'/[img(.*?)](.*?)[/img(.*?)]/si\', \'[img:\'.$bbcode_uid.\']\'.\'\\2[/img:\'.$bbcode_uid.\']\', $s);
// color
$s = preg_replace(\'/[color=(.*?)]/\', \'[color=\\1:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[/color]/\', \'[/color:\'.$bbcode_uid.\']\', $s);
// size fb uses size 1 to 5, phpbb2 uses size 1 to 29; will use 1 = 7, 2=9, 3=12, 4=18, 5=24
$s = preg_replace(\'/[size=1]/\', \'[size=7:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[size=2]/\', \'[size=9:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[size=3]/\', \'[size=12:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[size=4]/\', \'[size=18:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[size=5]/\', \'[size=24:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[/size]/\', \'[/size:\'.$bbcode_uid.\']\', $s);
// code
$s = preg_replace(\'/[code(.*?)]/\',\'[code:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[/code(.*?)]/\', \'[/code:\'.$bbcode_uid.\']\', $s);
// lists
$s = preg_replace(\'/[ul]/\', \'[list:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[/ul]/\', \'[/list:u:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[ol]/\', \'[list=1:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[/ol]/\', \'[/list:o:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[li]/\', \'[*:\'.$bbcode_uid.\']\', $s);
$s = preg_replace(\'/[/li]/\', \'\', $s);
return $s;
}
// fixed the quotes.
function fixquotes($q) {
global $bbcode_uid;
$q = preg_replace(\'/[b:\'.$bbcode_uid.\'](.*?) wrote:[/b:\'.$bbcode_uid.\']rn[quote:\'.$bbcode_uid.\']/\', \'[quote:\'.$bbcode_uid.\'=\"\\1\"]\', $q );
return $q;
}
// function taken from phpbb2 functions file Unique ID for this message..
function make_bbcode_uid()
{
$uid = md5(mt_rand());
$uid = substr($uid, 0, BBCODE_UID_LEN);
return $uid;
}
//last minute accounts to be added note phpbb2admin password is \"admn\" Besure to remove once you have tested the site.
//After doing this, I\'d suggest copying the admin password from
//a known quantity, not this one. It didn\'t work for me and
//phpbb2admin had to do the forgot password thing like everyone
//else. Also, I\'d suggest making the email address (just below
//here) a variable for the config lines at the beginning.
//--Chris
$query = \"INSERT INTO {$phpbb_dbprefix}users (user_id, user_active, username, user_password, user_session_time, user_session_page, user_lastvisit, user_regdate, user_level, user_posts, user_timezone, user_style, user_lang, user_dateformat, user_new_privmsg, user_unread_privmsg, user_last_privmsg, user_login_tries, user_last_login_try, user_emailtime, user_viewemail, user_attachsig, user_allowhtml, user_allowbbcode, user_allowsmile, user_allowavatar, user_allow_pm, user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm, user_rank, user_avatar, user_avatar_type, user_email, user_icq, user_website, user_from, user_sig, user_sig_bbcode_uid, user_aim, user_yim, user_msnm, user_occ, user_interests, user_actkey, user_newpasswd) VALUES
(-1, 0, \'Anonymous\', \'\', 0, 0, 0, 0, 0, 0, 0.00, NULL, \'\', \'\', 0, 0, 0, 0, 0, NULL, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, NULL, \'\', 0, \'\', \'\', \'\', \'\', \'\', NULL, \'\', \'\', \'\', \'\', \'\', \'\', \'\'),
(2, 1, \'phpbb2admin\', \'21232f297a57a5a743894a0e4a801fc3\', 1198282415, 0, 1198282415, 0, 1, 1, 0.00, 1, \'english\', \'d M Y h:i a\', 0, 0, 0, 0, 0, NULL, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, \'\', 0, \'myadmin@my_site.com\', \'\', \'\', \'\', \'\', NULL, \'\', \'\', \'\', \'\', \'\', \'\', \'\');\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
$query = \"INSERT INTO {$phpbb_dbprefix}user_group (group_id, user_id, user_pending) VALUES
(1, -1, 0),
(2, 2, 0);\";
$result = mysql_query($query) or die(\"<br />Invalid query:<br />$query<br />\" . mysql_error());
?>[/quote]
|
|
|
| Re:Fireboard to phpBB3 ! 3 Years, 1 Month ago |
|
Change this...
[code]
// Joomla database prefix - Use existing Prefix
$mosConfig_dbprefix = \"jos_\";
// phpBB2 database prefix - Use existing Prefix
$phpbb_dbprefix = \"phpbb2_\";
// Temp DB prefix used for temporary tables in the script
// set this to a prefix you are NOT using on your mySQL db
$temp_dbprefix = \"temp_\";
[/code]
to this...
[code]// Joomla database prefix - Use existing Prefix
$mosConfig_dbprefix = \'jos_\';
// phpBB2 database prefix - Use existing Prefix
$phpbb_dbprefix = \'phpbb2_\';
// Temp DB prefix used for temporary tables in the script
// set this to a prefix you are NOT using on your mySQL db
$temp_dbprefix = \'temp_\';
[/code]
Do you get what\'s wrong... act slowly and you will learn and understand more of the errors than rushing everything.
|
|
|
|