Export phpbb to vBulletin

Export phpbb to vBulletin

1235
1
SHARE

Kemarin saya berencana migrasi dari phpbb ke vbulletin. Tapi ternyata agak sulit untuk mengaplikasikannya. karena struktur tabel yang agak berbeda antara phpbb dan  vbulletin. Tapi dengan sedikit kerja keras saya akhirnya berhasil memindahkan forum dari phpbb ke vbulletin.

Sebelumnya, untuk melakukan migrasi sebaiknya anda lakukan di localhost agar tidak terjadi hal-hal yang tidak diinginkan dan juga agar proses lebih cepat.

Langkah:

vBulletin menyediakan fasilitas import data forum lain untuk digunakan di vBulletin. fasilitas yang digunakan adalah impex. anda bisa mendownloadnya disini dengan username dan password anda, jika anda menggunakan vBulletin yang tidak berbayar silahkan download disini. untuk tutorialnya disini Ikuti langkah-langkah instalasi impex dari tutorial diatas.

Proses upload sampai import data, saya rasa sudah cukup dengan tutorial diatas.

Kemudian, ada beberapa hal yang harus anda setting. Karena proses instalasi diatas belum cukup sinkron dengan database vBulletin.
Data-data seperti Forum, post, thread sebenarnya sudah masuk kedalam database vBulletin, akan tetapi masih belum tersinkron dengan baik. Ketika kita melihat dorum pun masih dalam keadaan kosong. Untuk itu anda harus melakukan update database ulang agar thread dan post bisa tampil di forum yang baru.

Yang saya coba sih agak sedikit ribet kalo kita update satu-satu. untuk itu saya buatin script biar bisa langsung update otomatis.

Pertama, buat file repair.php atau apapun yang anda mau. simpan di folder local anda. misal di htdocs/sitename/repair.php.

Masukan script ini di file yang tadi dibuat.
<?php
$host    = "localhost";
$userdb    = "root";
$passdb    = "";
$dbname    = "vbforum"

$conn    = mysql_connect($host,$userdb,$passdb);
mysql_select_db($dbname, $conn);

if($_GET[cek]==1){
cek_thread();
}else if($_GET[cek]==2){
cek_forum();
}else{
echo ‘Resyncron forum, thread and post  for vbulletin. clik to <a href=”repair.php?cek=1″>ready</a>’;
}

function cek_thread(){
$thread    = mysql_query(“SELECT threadid, title FROM vb_thread ORDER BY threadid ASC”);
while($cek = mysql_fetch_array($thread)){
$tid    = $cek[‘threadid’];
$titel    = $cek[‘title’];

$vbpl    = mysql_query(“SELECT * FROM vb_post WHERE threadid=’$tid’ ORDER BY postid DESC”);
$respl    = mysql_fetch_array($vbpl);
$postidl= $respl[‘postid’];
$datel    = $respl[‘dateline’];

$posterl= $respl[‘username’];
$useridl= $respl[‘userid’];

$vbp    = mysql_query(“SELECT * FROM vb_post WHERE threadid=’$tid’ ORDER BY postid ASC”);
$resp    = mysql_fetch_array($vbp);
$postid    = $resp[‘postid’];
$date    = $respl[‘dateline’];

$vbt    = mysql_query(“UPDATE vb_thread SET firstpostid=’$postid’, lastpostid=’$postidl’, lastpost=’$datel’, lastposter=’$posterl’, lastposterid=’$useridl’, dateline=’$date’, notes=”, importthreadid=’0′, importforumid=’0′ WHERE threadid=’$tid'”);

}
if($vbt)
{
echo ‘Success for step 1. click to next step <a href=”repair.php?cek=2″>ready</a>’;
}
else
{
echo “Update Error”;
}

}

function cek_forum(){
$forum    = mysql_query(“SELECT forumid, title FROM vb_forum ORDER BY forumid ASC”);
while($cek = mysql_fetch_array($forum)){
$forumid    = $cek[‘forumid’];
$title        = $cek[‘title’];

$thread        = mysql_query(“SELECT threadid, title FROM vb_thread WHERE forumid=’$forumid’ ORDER BY threadid DESC”);
$rest        = mysql_fetch_array($thread);
$threadid    = $rest[‘threadid’];
$thtitle    = $rest[‘title’];

$post        = mysql_query(“SELECT * FROM vb_post WHERE threadid=’$threadid’ ORDER BY postid DESC”);
$resp        = mysql_fetch_array($post);

//$postid            = $resp[‘postid’];
$lastpost        = $resp[‘dateline’];
$lastposter        = $resp[‘username’];
$lastposterid    = $resp[‘userid’];
$lastpostid        = $resp[‘postid’];
$lastthread        = $thtitle;
$lastthreadid    = $threadid;

$updforum    = mysql_query(“UPDATE vb_forum SET lastpost=’$lastpost’, lastposter=’$lastposter’, lastposterid=’$lastposterid’, lastpostid=’$lastpostid’,     lastthread=’$lastthread’, lastthreadid=’$lastthreadid’ WHERE forumid=’$forumid'”);
}

if($updforum)
{
echo “Your setup is done. Congratulation…. ^^”;
}
else
{
echo “Update Error.!”;
}
}
?>

Kemudian jalankan script diatas, misal: http://localhost/sitename/repair.php dan ikuti langkah-langkahnya.

Untuk user, ini agak ribet. saya juga belum tau caranya. Karna salt passwordnya berbeda. Jika forum anda masih sedikit user, saran saya anda bisa menggunakan fungsi admin untuk mengirimkan password user melalui email.

admincp > Users > Search for Users > Show All Users > Pilih option “Send password to user” pada list user masing-masing.

namun jika member anda sudah banyak, sebaiknya minta mereka sendiri yang menggunakan fungsi forgot password.

Demikian sedikit informasi dari saya. Terima kasih.

1 COMMENT

LEAVE A REPLY