Hi @all,
I am trying to migrate a forum from Ikonboard 3.1.2a to SMF 2.0.15.
So after some trial and error with PHP 7.2 I set up an machine with Ubuntu 14.04 and PHP 5.5.9, set up a working SMF Forum, imported the Ikonboard database and copied this converter https://download.simplemachines.org/index.php?converters;id=26 into the documentroot.
After filling all the fields I start the converting process, but I stops right at the first step "Converting members...". There are no running queries in the MySQL Server und no apache2 processes consuming any CPU.
Does anyone have a hint for me ?
Bye, Dirk
Try the version from
https://github.com/SimpleMachines/converters/tree/master/SMF2.0/Ikonboard/3.1
Thanks a lot !
I tried the version from github, but same problem - freezes at "Converting members..." :(
In the url address bar added &debug=1
To the request and see if you get any feedback
Yes, I got some on top of the page
"Notice: Undefined index: convert_script in /var/www/html/convert.php on line 52Notice: Function set_magic_quotes_runtime() is deprecated in /var/www/html/convert.php on line 55Notice: Undefined index: start in /var/www/html/convert.php on line 89Notice: Undefined index: path_from in /var/www/html/convert.php on line 103 "
In the page it said :
"Notice: Undefined index: substep in /var/www/html/convert.php on line 844Converting members...Wrong value type sent to the database. Floating point number expected. (time_offset)"
I can also offer you the convert_error_log file - is that helps ?
Try this file
Now it's
Notice: Undefined index: convert_script in /var/www/html/convert.php on line 52Notice: Function set_magic_quotes_runtime() is deprecated in /var/www/html/convert.php on line 55Notice: Undefined index: start in /var/www/html/convert.php on line 89Notice: Undefined index: path_from in /var/www/html/convert.php on line 103
IkonBoard 3.1.x to SMF Converter
and
Notice: Undefined index: substep in /var/www/html/convert.php on line 844Converting members...Wrong value type sent to the database. Integer expected. (last_login)
Try this
This time it's
Notice: Undefined index: convert_script in /var/www/html/convert.php on line 52Notice: Function set_magic_quotes_runtime() is deprecated in /var/www/html/convert.php on line 55Notice: Undefined index: start in /var/www/html/convert.php on line 89Notice: Undefined index: path_from in /var/www/html/convert.php on line 103
and
Notice: Undefined index: substep in /var/www/html/convert.php on line 844Converting members...Wrong value type sent to the database. Integer expected. (gender)
try
Ok, by doing a diff between the original file and your latest file I think I managed to fix the "gender" and another problem by inserting :
$row['gender'] = (int) $row['gender'];
$row['hide_email'] = (int) $row['hide_email'];
Now it stops at "preparing messages":
Notice: Undefined index: convert_script in /var/www/html/convert.php on line 52Notice: Function set_magic_quotes_runtime() is deprecated in /var/www/html/convert.php on line 55
Notice: Undefined variable: result in /var/www/html/convert.php on line 2150Notice: Undefined variable: result in /var/www/html/convert.php on line 2151Notice: Undefined index: db_fetch_assoc in /var/www/html/convert.php on line 2341
Ok I'll try your new version and will report :)
Notice: Undefined index: substep in /var/www/html/convert.php on line 844Converting members...Wrong value type sent to the database. Integer expected. (hide_email)
I could fix this by inserting
$row['hide_email'] = (int) $row['hide_email'];
But the problem with the messages remains, of course.
Try that. Strange that those fields are not integers.
But i haven't seen that forum's databases before.
Ok I put 'hide_email' in like this:
$row['last_login'] = (int) $row['last_login'];
$row['time_offset'] = (int) $row['time_offset'];
$row['hide_email'] = (int) $row['hide_email'];
$row['gender'] = substr(strtolower($row['gender']), 0,1);
if ($row['gender'] == 'm')
$row['gender'] = 1;
else if ($row['gender'] == 'f')
$row['gender'] = 2;
else
$row['gender'] = 0;
Now it stops at "preparing messages":
Notice: Undefined index: convert_script in /var/www/html/convert.php on line 52Notice: Function set_magic_quotes_runtime() is deprecated in /var/www/html/convert.php on line 55
Notice: Undefined variable: result in /var/www/html/convert.php on line 2150Notice: Undefined variable: result in /var/www/html/convert.php on line 2151Notice: Undefined index: db_fetch_assoc in /var/www/html/convert.php on line 2341
Use convert.php from github
Looks like a already had the one from github
At least the md5sum was the same between my file and the one I just downloaded from github ( it's 3916e1d26548312410b6081bb377569a ).
Error stays the same
Do you have tmp_messages table in your smf database
is your smf's boards table have records?
Same for smf_members table?
Yes, I have a table called tmp_messages
smf_boards hat 51 records
smf_members hat 3938 records
Hello vbgamer45,
I don't want to push anything, but do you maybe have an idea/hint about the last error ?
Thank you very much in advance !
I would try putting debug=1 in url after you get that message.
My first time ever reading about IkonBoard! Cool
Hi vbgamer45,
thanks a lot for still supporting me !
I tried the debug=1 and that's what I got:
Notice: Undefined index: convert_script in /var/www/html/convert.php on line 52Notice: Function set_magic_quotes_runtime() is deprecated in /var/www/html/convert.php on line 55
Notice: Undefined variable: result in /var/www/html/convert.php on line 2150Notice: Undefined variable: result in /var/www/html/convert.php on line 2151Notice: Undefined index: db_fetch_assoc in /var/www/html/convert.php on line 2341
Hmm is it possible to run query on it's own
SELECT
temp.id_msg AS id_msg, mem.id_member, p.ENABLE_EMO AS smileys_enabled,
SUBSTRING(p.IP_ADDR, 1, 255) AS poster_ip, p.POST_DATE AS poster_time,
SUBSTRING(t.TOPIC_TITLE, 1, 255) AS subject,
SUBSTRING(REPLACE(p.POST, '<br>', '<br />'), 1, 65534) AS body,
p.TOPIC_ID AS id_topic, p.FORUM_ID AS id_board,
SUBSTRING(mem.member_name, 1, 255) AS poster_name,
SUBSTRING(mem.email_address, 1, 255) AS poster_email
FROM smf_tmp_messages AS temp
INNER JOIN {$from_prefix}forum_posts AS p ON (p.POST_ID = temp.old_id_msg)
LEFT JOIN {$from_prefix}forum_topics AS t ON (t.TOPIC_ID = p.TOPIC_ID)
LEFT JOIN smf_members AS mem ON (mem.temp_id = p.AUTHOR)
LIMIT 10;
Replace {$from_prefix} with the the preix in ikonboard
Looks like the table wasn't created:
mysql> SELECT
-> temp.id_msg AS id_msg, mem.id_member, p.ENABLE_EMO AS smileys_enabled,
-> SUBSTRING(p.IP_ADDR, 1, 255) AS poster_ip, p.POST_DATE AS poster_time,
-> SUBSTRING(t.TOPIC_TITLE, 1, 255) AS subject,
-> SUBSTRING(REPLACE(p.POST, '<br>', '<br />'), 1, 65534) AS body,
-> p.TOPIC_ID AS id_topic, p.FORUM_ID AS id_board,
-> SUBSTRING(mem.member_name, 1, 255) AS poster_name,
-> SUBSTRING(mem.email_address, 1, 255) AS poster_email
-> FROM smf_tmp_messages AS temp
-> INNER JOIN ib_forum_posts AS p ON (p.POST_ID = temp.old_id_msg)
-> LEFT JOIN ib_forum_topics AS t ON (t.TOPIC_ID = p.TOPIC_ID)
-> LEFT JOIN smf_members AS mem ON (mem.temp_id = p.AUTHOR)
->
-> LIMIT 10;
ERROR 1146 (42S02): Table 'gisiold.smf_tmp_messages' doesn't exist
Here's an overview of all existing tables in the Ikonboard Database :
mysql> show tables;
+------------------------+
| Tables_in_gisiold |
+------------------------+
| ib_active_sessions |
| ib_address_books |
| ib_attachments |
| ib_authorisation |
| ib_calendar |
| ib_categories |
| ib_email_templates |
| ib_forum_info |
| ib_forum_moderators |
| ib_forum_poll_voters |
| ib_forum_polls |
| ib_forum_posts |
| ib_forum_rules |
| ib_forum_subscriptions |
| ib_forum_topics |
| ib_help |
| ib_mem_groups |
| ib_member_notepads |
| ib_member_profiles |
| ib_member_titles |
| ib_message_data |
| ib_message_stats |
| ib_mod_email |
| ib_mod_posts |
| ib_moderator_logs |
| ib_search_log |
| ib_ssi_templates |
| ib_templates |
| ib_topic_views |
+------------------------+
Just to avoid a misunderstanding - I ran this query in the OLD Ikonboard Database, not the NEW SMF DB.
Try creating this table and run this query
CREATE TABLE IF NOT EXISTS {$to_prefix}tmp_messages (
old_id_msg int(12) NOT NULL default '0',
old_id_topic int(12) NOT NULL default '0',
date int(15) NOT NULL default '0'
);
After creating the table smf_tmp_messages
mysql> CREATE TABLE IF NOT EXISTS smf_tmp_messages (
-> old_id_msg int(12) NOT NULL default '0',
-> old_id_topic int(12) NOT NULL default '0',
-> date int(15) NOT NULL default '0'
-> );
Query OK, 0 rows affected (0.01 sec)
I ran the query again and got
mysql> SELECT
-> temp.id_msg AS id_msg, mem.id_member, p.ENABLE_EMO AS smileys_enabled,
-> SUBSTRING(p.IP_ADDR, 1, 255) AS poster_ip, p.POST_DATE AS poster_time,
-> SUBSTRING(t.TOPIC_TITLE, 1, 255) AS subject,
-> SUBSTRING(REPLACE(p.POST, '<br>', '<br />'), 1, 65534) AS body,
-> p.TOPIC_ID AS id_topic, p.FORUM_ID AS id_board,
-> SUBSTRING(mem.member_name, 1, 255) AS poster_name,
-> SUBSTRING(mem.email_address, 1, 255) AS poster_email
-> FROM smf_tmp_messages AS temp
-> INNER JOIN ib_forum_posts AS p ON (p.POST_ID = temp.old_id_msg)
-> LEFT JOIN ib_forum_topics AS t ON (t.TOPIC_ID = p.TOPIC_ID)
-> LEFT JOIN smf_members AS mem ON (mem.temp_id = p.AUTHOR)
->
-> LIMIT 10;
ERROR 1146 (42S02): Table 'gisiold.smf_members' doesn't exist
mysql>
In front of any of the smf_ tables
Put database.smf_
So smf_members becomes
database.smf_members
Database should be your smf's forum's databasename
Ok sorry, that was my fault. Obviously I'm no SQL-Pro
Ok, next try :
mysql> SELECT
-> temp.id_msg AS id_msg, mem.id_member, p.ENABLE_EMO AS smileys_enabled,
-> SUBSTRING(p.IP_ADDR, 1, 255) AS poster_ip, p.POST_DATE AS poster_time,
-> SUBSTRING(t.TOPIC_TITLE, 1, 255) AS subject,
-> SUBSTRING(REPLACE(p.POST, '<br>', '<br />'), 1, 65534) AS body,
-> p.TOPIC_ID AS id_topic, p.FORUM_ID AS id_board,
-> SUBSTRING(mem.member_name, 1, 255) AS poster_name,
-> SUBSTRING(mem.email_address, 1, 255) AS poster_email
-> FROM smf_tmp_messages AS temp
-> INNER JOIN ib_forum_posts AS p ON (p.POST_ID = temp.old_id_msg)
-> LEFT JOIN ib_forum_topics AS t ON (t.TOPIC_ID = p.TOPIC_ID)
-> LEFT JOIN smf.smf_members AS mem ON (mem.temp_id = p.AUTHOR)
->
-> LIMIT 10;
ERROR 1054 (42S22): Unknown column 'temp.id_msg' in 'field list'
mysql>
In fact the table hat only 3 columns
mysql> describe smf_tmp_messages;
+--------------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------+------+-----+---------+-------+
| old_id_msg | int(12) | NO | | 0 | |
| old_id_topic | int(12) | NO | | 0 | |
| date | int(15) | NO | | 0 | |
+--------------+---------+------+-----+---------+-------+
3 rows in set (0.00 sec)
change
SELECT
temp.id_msg
To
SELECT
temp.old_id_msg
Try this file
Hi vbgamer,
I took the new file and used it with a clean, fresh SMF Installation and this time I got:
Converting members...Wrong value type sent to the database. Integer expected. (hide_email)
Forgot to add the hide email fix try this file
Ok not it stops again at "preparing messages"
preparing messages..
Notice: Undefined variable: result in /var/www/html/convert.php on line 2150Notice: Undefined variable: result in /var/www/html/convert.php on line 2151Notice: Undefined index: db_fetch_assoc in /var/www/html/convert.php on line 2341
I'm going to re-check, that I have the latest convert.php from Github and will report in some minutes.
Absolutely the same with the latest convert.php from github
Just an idea - Would it make things easier if I would upload the structure of the old Ikonboard Database here ?
might help i thiught that query change would be it
Here you are :D
Hello vbgamer45,
was the file of any help ? Is there anything I can do ?
No not not sure why it dies.
Hi all,
I'm interested in converting an old iconboard community to a modern smf one.
Is it generally possible to do this or are the converters too old ?
If they are too old:
Is there an alternative to import only the database tables to a new board with same structure ?
Best regards from germany
Rafael
It depends you can give the current convertor a shot and see how it goes.
@vbgamer - Do you think that it might make a difference if I'd try to convert from Ikonboard to SMF 1.1 with your converter tool and than to SMF 2.0 ?
I don't think it works like that convertors are SMF version specific.
Interesting thread - did you manage to make it work Warlock?
I am at this stage :D
QuoteConverting members...Wrong value type sent to the database. Integer expected. (gender)
Cheers, Paul
OK, have followed everything and now I'm also stuck at "preparing messages". :(