I tried this with a 80% of success..
TSMFHere's the code posted:
Quote:
include("mysql.php");
connectbdd();
$query = "SELECT * FROM smf_messages order by ID_TOPIC ASC, posterTime ASC";
$bigr = mysql_query( $query ) or die(mysql_error());
$prec_sb_id = 0;
$prec_smf_topic = 0;
$parent = 0;
$thread = 0;
$threadupdate = 1;
echo mysql_num_rows( $bigr );
//
// Pour chaque message...
while( $row = mysql_fetch_array( $bigr ))
{
$id = $row['ID_MSG'];
$id_topic = $row['ID_TOPIC'];
$id_board = $row['ID_BOARD'];
$posterTime = $row['posterTime'];
$subject = $row['subject'];
$posterName = $row['posterName'];
$posterEmail = $row['posterEmail'];
$posterIP = $row['posterIP'];
$body = $row['body'];
$subject = addslashes($subject);
$body = addslashes($body);
if( $id_topic == $prec_smf_topic )
$parent = $prec_sb_id;
else
$parent = 0;
$thread = $threadupdate;
//
// On récupere le nom du board et on trouve la correspondance avec Joomlaboard
$r = mysql_query( "SELECT name from smf_boards where ID_BOARD='$id_board'") or die(mysql_error());
$result = mysql_fetch_array($r);
$boardname = $result['name'];
$r = mysql_query( "SELECT id FROM mos_sb_categories where name='$boardname'") or die(mysql_error());
if( mysql_num_rows($r) == 0 )
die ("CATEGORIE $boardname INEXISTANTE DANS LA BASE MAMBO!!!");
else
{
$result = mysql_fetch_array($r);
$catid = $result['id'];
}
//
// On récupere maintenant l'id de l'auteur du message
$r = mysql_query( "SELECT id FROM mos_users where username='$posterName'") or die(mysql_error());
if (mysql_num_rows($r) == 0 )
die( "UTILISATEUR $posterName inexistant dans la base MAMBO!!!");
else
{
$result = mysql_fetch_array($r);
$userid = $result['id'];
}
//
// INSERTION DANS LA BASE DE JB
$query = "INSERT INTO mos_sb_messages VALUES ('', '$parent', '$thread', '$catid', '$posterName', '$userid', '
$posterEmail', '$subject', '$posterTime', '$posterIP', '0', '0', '0', '0', '0', '0' )";
mysql_query( $query ) or die ("$query" . "
" . mysql_error());
//
// On choppe l'id du dernier enregistrement
$r = mysql_query( "SELECT id FROM mos_sb_messages order by id DESC limit 1" ) or die (mysql_error());
$result = mysql_fetch_array( $r );
$prec_sb_id = $result['id'];
if( $parent == 0 )
$threadupdate = $prec_sb_id;
mysql_query( "UPDATE mos_sb_messages SET thread = '$threadupdate' WHERE id='$prec_sb_id'") or die(mysql_error());
//
// Et maintenant faut inserer le texte dans la base de sb aussi....
$query = "INSERT INTO mos_sb_messages_text VALUES ('$prec_sb_id', '$body')";
mysql_query($query) or die ("$query" . "
" . mysql_error());
$prec_smf_topic = $id_topic;
}
echo "done";
?>
Change
Code:
mos_sb_
with the joomla table name
Code:
jos_sb_
Notice that:
Quote:
include("mysql.php");
refers to a connection file you must create at the same level.
This:
Code:
<?php
function connectbdd()
{
if( false == mysql_connect("", "", "") ) /// FILL with your connections details
die("Error");
if( false == mysql_select_db("") ) // FILL with your database name
die("Error.");
}
?>
In this way I saved about 80% of messages.. still don't know why..

Here's the results:
joomlaboardSMF