Конвертирование IPB 2.3.x -> phpBB 3.0.x
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
VVVas
- Former team member
- Сообщения: 4463
- Стаж: 21 год 10 месяцев
- Поблагодарили: 13 раз
Конвертирование IPB 2.3.x -> phpBB 3.0.x
Так. Я не умный, может мне кто поможет?
Есть конвертер из IPB2 в phpBB3. У него есть несколько недостатков, но все решаемые руками и упорством, при желании. Единственно что мне не удалось (вернее что нужно сделать я знаю, но это слишком уж долго): это то, что возникает несоответствие между значением bbcode_uid и фактическим uid'ом который приклеивается к bbcode'у. Я не понимаю как оно должно быть и от чего вычисляется этот uid. Эта проблема есть как в сообщениях, так и в подписях пользователей. Вопрос - кто мне скажет где косяк и как это исправить?
Ссылка на конвертер
http://www.phpbb.com/community/viewtopi ... a#p3207210
ЗЫ О достоинствах и недостатках конвертера если что расскажу, спрашивайте, но соответственно в отдельной теме.
Есть конвертер из IPB2 в phpBB3. У него есть несколько недостатков, но все решаемые руками и упорством, при желании. Единственно что мне не удалось (вернее что нужно сделать я знаю, но это слишком уж долго): это то, что возникает несоответствие между значением bbcode_uid и фактическим uid'ом который приклеивается к bbcode'у. Я не понимаю как оно должно быть и от чего вычисляется этот uid. Эта проблема есть как в сообщениях, так и в подписях пользователей. Вопрос - кто мне скажет где косяк и как это исправить?
Ссылка на конвертер
http://www.phpbb.com/community/viewtopi ... a#p3207210
ЗЫ О достоинствах и недостатках конвертера если что расскажу, спрашивайте, но соответственно в отдельной теме.
-
rxu
- phpBB Guru

- Сообщения: 17272
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
VVVas
Старые uid-ы надо вырезать регуляркой, чтобы оставались "чистые" ббкоды без уидов, а-ля <b>, только потом заменять на phpBB-шные ббкоды, и уже потом парсить сообщение, как это сделано в конвертере из двойки в тройку.
А в этом конвертере сразу идёт замена которая, как я понимаю, не отрабатывает, потому что в сообщении, полученном из базы напрямую, нет "чистых" тегов ббкода - они все с uid-ами.
Старые uid-ы надо вырезать регуляркой, чтобы оставались "чистые" ббкоды без уидов, а-ля <b>, только потом заменять на phpBB-шные ббкоды, и уже потом парсить сообщение, как это сделано в конвертере из двойки в тройку.
А в этом конвертере сразу идёт замена
Код: Выделить всё
$message = str_replace('<i>', '[i]', $message);
$message = str_replace('</i>', '[/i]', $message);
$message = str_replace('<b>', '[b]', $message);
$message = str_replace('</b>', '[/b]', $message);
$message = str_replace('<u>', '[u]', $message);
$message = str_replace('<br />',"\r\n",$message);
$message = str_replace('<blockquote>','[quote]',$message);
$message = str_replace('</blockquote>','[/quote]',$message);-
VVVas
- Former team member
- Сообщения: 4463
- Стаж: 21 год 10 месяцев
- Поблагодарили: 13 раз
rxu
оно отрабатывает, я же написал что оно просто не соответствует, вот оригинальное сообщение из базы до конверта
А вот после конвертации
То бишь в оригинале никаких уидов в IPB нет совсем. Это проблема их генерации. Вот она и не живет нормально.
- это ждёт phpBB в качесте уида, а прилепляется ббкоду
От сообщения к сообщению значения меняются.
Добавлено спустя 9 минут 45 секунд:
то есть указанный тобой код нормально отрабатывается и в том и есть его затея. А вот дальше как эти уиды добавляются я не понял.
оно отрабатывает, я же написал что оно просто не соответствует, вот оригинальное сообщение из базы до конверта
Код: Выделить всё
(12, 0, 1092168411, 1, 'Геккон', 1, 1, '217.25.84.226', 1090741961, 0, 'Обмен на хардах по Москве.<br />Нужна 1-2 зона, только японский/английский дубляж и субтитры.<br /><br />Есть:<br /><b>Cowboy Bebop</b> - 8 DVD-R<br /><b>I, My, Me, Strawberry Eggs</b> - 4 DVD-R<br /><b>Kareshi Kanojo no Jijou</b> - 10<br /><b>Love Hina</b> - 6<br /><b>Love Hina Again</b> - 1<br /><b>Love Hina Christmas Special</b> - 1<br /><b>Love Hina Spring Special</b> - 1<br /><b>End of Evangelion</b> - 2<br /><b>Ranma 1/2</b> 1 сезон - 6<br /><b>Trigun</b> - 8<br /><b>Those Who Hunt Elves</b> - 4<br /><b>Vampire Hunter D: Bloodlust</b> (только англ.дубляж) - 1<br /><b>Vandread 1st Stage</b> - 4<br /><br />+ русскоязычные и китайские диски.<br />Подробности - <a href=\"http://anime.sugoi.ru\" target=\"_blank\">http://anime.sugoi.ru</a><br />Список XLS - <a href=\"http://anime.sugoi.ru/Ani_Geckon.xls\" target=\"_blank\">http://anime.sugoi.ru/Ani_Geckon.xls</a>', 0, 12, NULL, 1, 'Гекон', '08c0a65b121332f87e677af4d232c1cd', 0, 0, ''),Код: Выделить всё
(12, 12, 0, 1195, 0, '33.7.0.37', 1090741961, 1, 0, 0, 1, 1, 1, 'Геккон', '', 'Обмен на хардах по Москве.\r\nНужна 1-2 зона, только японский/английский дубляж и субтитры.\r\n\r\nЕсть:\r\n[b:2fdw1dkq]Cowboy Bebop[/b:2fdw1dkq] - 8 DVD-R\r\n[b:2fdw1dkq]I, My, Me, Strawberry Eggs[/b:2fdw1dkq] - 4 DVD-R\r\n[b:2fdw1dkq]Kareshi Kanojo no Jijou[/b:2fdw1dkq] - 10\r\n[b:2fdw1dkq]Love Hina[/b:2fdw1dkq] - 6\r\n[b:2fdw1dkq]Love Hina Again[/b:2fdw1dkq] - 1\r\n[b:2fdw1dkq]Love Hina Christmas Special[/b:2fdw1dkq] - 1\r\n[b:2fdw1dkq]Love Hina Spring Special[/b:2fdw1dkq] - 1\r\n[b:2fdw1dkq]End of Evangelion[/b:2fdw1dkq] - 2\r\n[b:2fdw1dkq]Ranma 1/2[/b:2fdw1dkq] 1 сезон - 6\r\n[b:2fdw1dkq]Trigun[/b:2fdw1dkq] - 8\r\n[b:2fdw1dkq]Those Who Hunt Elves[/b:2fdw1dkq] - 4\r\n[b:2fdw1dkq]Vampire Hunter D: Bloodlust[/b:2fdw1dkq] (только англ.дубляж) - 1\r\n[b:2fdw1dkq]Vandread 1st Stage[/b:2fdw1dkq] - 4\r\n\r\n+ русскоязычные и китайские диски.\r\nПодробности - [url=http://anime.sugoi.ru:2fdw1dkq]http://anime.sugoi.ru[/url:2fdw1dkq]\r\nСписок XLS - [url=http://anime.sugoi.ru/Ani_Geckon.xls:2fdw1dkq]http://anime.sugoi.ru/Ani_Geckon.xls[/url:2fdw1dkq]', '', 0, '', 'x025fwpb', 1, 1092168411, '', 0, 0, 0)Код: Выделить всё
x025fwpbКод: Выделить всё
2fdw1dkqДобавлено спустя 9 минут 45 секунд:
то есть указанный тобой код нормально отрабатывается и в том и есть его затея. А вот дальше как эти уиды добавляются я не понял.
-
rxu
- phpBB Guru

- Сообщения: 17272
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
А если закомментировать код
Код: Выделить всё
// Make sure options are set.
$message_parser->prepare_bbcodes();
$message_parser->parse_bbcode();-
VVVas
- Former team member
- Сообщения: 4463
- Стаж: 21 год 10 месяцев
- Поблагодарили: 13 раз
rxu
Тот же эффект, только добавился bbcode_bitfield - теперь у него есть значение UA== Самое интересное, что уид поменял своё значение и в поле bbcode_uid и рядом с собственно кодом. От чего вообще генерируется bbcode_uid?
Тот же эффект, только добавился bbcode_bitfield - теперь у него есть значение UA==
Код: Выделить всё
(12, 12, 0, 1196, 0, '33.7.0.37', 1090741961, 1, 0, 0, 1, 1, 1, 'Геккон', '', 'Обмен на хардах по Москве.\r\nНужна 1-2 зона, только японский/английский дубляж и субтитры.\r\n\r\nЕсть:\r\n[b:2w0ahwg1]Cowboy Bebop[/b:2w0ahwg1] - 8 DVD-R\r\n[b:2w0ahwg1]I, My, Me, Strawberry Eggs[/b:2w0ahwg1] - 4 DVD-R\r\n[b:2w0ahwg1]Kareshi Kanojo no Jijou[/b:2w0ahwg1] - 10\r\n[b:2w0ahwg1]Love Hina[/b:2w0ahwg1] - 6\r\n[b:2w0ahwg1]Love Hina Again[/b:2w0ahwg1] - 1\r\n[b:2w0ahwg1]Love Hina Christmas Special[/b:2w0ahwg1] - 1\r\n[b:2w0ahwg1]Love Hina Spring Special[/b:2w0ahwg1] - 1\r\n[b:2w0ahwg1]End of Evangelion[/b:2w0ahwg1] - 2\r\n[b:2w0ahwg1]Ranma 1/2[/b:2w0ahwg1] 1 сезон - 6\r\n[b:2w0ahwg1]Trigun[/b:2w0ahwg1] - 8\r\n[b:2w0ahwg1]Those Who Hunt Elves[/b:2w0ahwg1] - 4\r\n[b:2w0ahwg1]Vampire Hunter D: Bloodlust[/b:2w0ahwg1] (только англ.дубляж) - 1\r\n[b:2w0ahwg1]Vandread 1st Stage[/b:2w0ahwg1] - 4\r\n\r\n+ русскоязычные и китайские диски.\r\nПодробности - [url=http://anime.sugoi.ru:2w0ahwg1]http://anime.sugoi.ru[/url:2w0ahwg1]\r\nСписок XLS - [url=http://anime.sugoi.ru/Ani_Geckon.xls:2w0ahwg1]http://anime.sugoi.ru/Ani_Geckon.xls[/url:2w0ahwg1]', '', 0, 'UA==', '35kjwyv0', 1, 1092168411, '', 0, 0, 0-
rxu
- phpBB Guru

- Сообщения: 17272
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Теперь стОит попробовать заменить
на
Код: Выделить всё
$message_parser->bbcode_uid = make_uid($convert->row['post_time']);Код: Выделить всё
$message_parser->bbcode_uid = make_uid($convert->row['post_date']);VVVas писал(а):От чего вообще генерируется bbcode_uid?
Код: Выделить всё
$last_uid = substr(base_convert(unique_id(), 16, 36), 0, BBCODE_UID_LEN);-
VVVas
- Former team member
- Сообщения: 4463
- Стаж: 21 год 10 месяцев
- Поблагодарили: 13 раз
-
VVVas
- Former team member
- Сообщения: 4463
- Стаж: 21 год 10 месяцев
- Поблагодарили: 13 раз
-
rxu
- phpBB Guru

- Сообщения: 17272
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
А у меня интернет пока медленный - лагает.
на
Можно попробовать в convert_ipb23.php сделать заменуVVVas писал(а): остались только подписи.
Код: Выделить всё
array('user_sig_bbcode_uid', '', 'make_uid'),Код: Выделить всё
array('user_sig_bbcode_uid', 'members.joined', 'make_uid'),-
VVVas
- Former team member
- Сообщения: 4463
- Стаж: 21 год 10 месяцев
- Поблагодарили: 13 раз
rxu
В очередной раз я не буду больше конвертировать, потому что уже заколебался. Может чуть позже на локальной тачке. Пока только напишу чего с этим конвертером не так.
Из плюсов - не ожидал, но было: день рождения нормально отконвертировался. В остальном всё в порядке.
Добавлено спустя 3 минуты 32 секунды:
Я с ИПБ не работал, так что если вас интересует какая-либо функция и что с ней стало после конвертации - спрашивайте, отвечу. Просто на мой взгляд вроде бы всё в норме. Если что ещё выясню - напишу.
В очередной раз я не буду больше конвертировать, потому что уже заколебался. Может чуть позже на локальной тачке. Пока только напишу чего с этим конвертером не так.
- несоответствие между значением bbcode_uid и фактическим uid'ом который приклеивается к bbcode'у в сообщении. Решена выше, для меня была самой большой.
- тоже самое, но в подписях пользователей. В теории решена выше, проверьте.
- во всех сообщениях отключено использование bbcode'а. Выполнил запрос.
- теряются темы из вложенных форумов и сами эти форумы. То есть в Базе темы есть, но на форуме вы в них попасть не сможете, поиском они даже находятся. Перед конвертацией вложенные форумы вытащите наверх и всё в порядке.
- все пользователи становятся неактивными. Наверное можно какой-то запрос выполнить, но я сделал ручками.
- не заполняются стандартные группы. Наверное тоже можно сделать какой-то запрос, но я сделал ручками.
- конфигурация переносится частично. Всё нужно проверять.
- не уверен, но вроде бы не переносятся опросы. Забил.
- аватары и смайлики не переносятся, вроде бы можно ручками это перенести и всё будет работать - не проверял. Забил.
- права доступа конечно же не переносятся. Особой проблемы не вижу.
Из плюсов - не ожидал, но было: день рождения нормально отконвертировался. В остальном всё в порядке.
Добавлено спустя 3 минуты 32 секунды:
Я с ИПБ не работал, так что если вас интересует какая-либо функция и что с ней стало после конвертации - спрашивайте, отвечу. Просто на мой взгляд вроде бы всё в норме. Если что ещё выясню - напишу.
-
VVVas
- Former team member
- Сообщения: 4463
- Стаж: 21 год 10 месяцев
- Поблагодарили: 13 раз
ну и с русскими именами пользователей у меня проблемы - но это уже не от этого конвертера, а вообще. В общем в теме про конвертацию из phhBB2 всё описано. Я так понимаю у меня тоже самое. Как решать не понял пока. Но изменение ника через админку помогает.
Добавлено спустя 1 час 57 минут 1 секунду:
Аттачей у меня не было, поэтому про них ничего сказать не могу.
Добавлено спустя 1 час 57 минут 1 секунду:
Опросы переносятся и даже цепляются к теме, но вот содержимое опроса теряется.VVVas писал(а):не уверен, но вроде бы не переносятся опросы. Забил.
Аттачей у меня не было, поэтому про них ничего сказать не могу.
-
web_pr
- phpBB 1.4.2
- Сообщения: 55
- Стаж: 20 лет 3 месяца
- Откуда: Москва
-
ZhAN
- phpBB 1.2.1
- Сообщения: 25
- Стаж: 18 лет 2 месяца
- Откуда: Киев
- Благодарил (а): 2 раза
- Поблагодарили: 4 раза
Re: Конвертирование IPB 2.3.x -> phpBB 3.0.x
Пытаюсь использовать этот же конвертор.
Ваши подсказки помогли починить цитаты, спасибо.
Хотелось бы побороть аттачи.
Итак что мы имеем после конвертации:
таблица phpbb_attachments заполнена более менее корректными данными. Все файлы есть, они привязаны к сообщениям.
Т.е. конвертор заполняет в таблицу что-то типа:
physical_filename: Preved_Vutka.jpg real_filename: post-845-1215972004.jpg
Теперь хотелосьбы увидеть эти аттачи хотябы после сообщений.. а в идеале и в теле сообщений.
Файлы аттачей (jpg, gif) копирую из старого форума в папку files (может кто-то прокомментирует насколько криво то что я сделал, так как вижу что оригинальные файлы залитые средствами пхпбб3 сохраняются в этой папке без расширения и имеют строго форматированное имя.. с какойто целью же это делалось..)
Первое что обнаруживается - это отсутствие в сообщениях к которым есть аттачи флага post_attachment. Лечим это запросом:
После этого движок в сообщениях начинают пытаться выводиться аттачи. Пока ничего реально не выводится (пустые картинки).
Оказалось что значения полей physical_filename и real_filename - при конвертировании заполняются неправильно (их нужно поменять местами). Как это сделать.. каждый пусть сам решает (я предпочел добавить временную колонку скопировать в нее значение одного из полей, а затем заполнить поля нужными данными)
Вобщем после этих манипуляций аттачи начали показываться "после сообщений"
В тело сообщений конвертор вставляет теги типа [attachment=1361:attachment], где 1361 - это phpbb_attachments.attach_id, которые никак не обрабатываются (т.е. так и показываются)
Собственно прошу подсказку как phpBB с аттачами в теле сообщения работает?
Ваши подсказки помогли починить цитаты, спасибо.
Хотелось бы побороть аттачи.
Итак что мы имеем после конвертации:
таблица phpbb_attachments заполнена более менее корректными данными. Все файлы есть, они привязаны к сообщениям.
Т.е. конвертор заполняет в таблицу что-то типа:
physical_filename: Preved_Vutka.jpg real_filename: post-845-1215972004.jpg
Теперь хотелосьбы увидеть эти аттачи хотябы после сообщений.. а в идеале и в теле сообщений.
Файлы аттачей (jpg, gif) копирую из старого форума в папку files (может кто-то прокомментирует насколько криво то что я сделал, так как вижу что оригинальные файлы залитые средствами пхпбб3 сохраняются в этой папке без расширения и имеют строго форматированное имя.. с какойто целью же это делалось..)
Первое что обнаруживается - это отсутствие в сообщениях к которым есть аттачи флага post_attachment. Лечим это запросом:
Код: Выделить всё
UPDATE phpbb_posts SET post_attachment = 1
WHERE post_id IN (SELECT DISTINCT post_msg_id FROM phpbb_attachments)Оказалось что значения полей physical_filename и real_filename - при конвертировании заполняются неправильно (их нужно поменять местами). Как это сделать.. каждый пусть сам решает (я предпочел добавить временную колонку скопировать в нее значение одного из полей, а затем заполнить поля нужными данными)
Вобщем после этих манипуляций аттачи начали показываться "после сообщений"
В тело сообщений конвертор вставляет теги типа [attachment=1361:attachment], где 1361 - это phpbb_attachments.attach_id, которые никак не обрабатываются (т.е. так и показываются)
Собственно прошу подсказку как phpBB с аттачами в теле сообщения работает?

