Конвертирование IPB 2.3.x -> phpBB 3.0.x

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 21 год 10 месяцев
Поблагодарили: 13 раз

Конвертирование IPB 2.3.x -> phpBB 3.0.x

Сообщение VVVas »

Так. Я не умный, может мне кто поможет?
Есть конвертер из IPB2 в phpBB3. У него есть несколько недостатков, но все решаемые руками и упорством, при желании. Единственно что мне не удалось (вернее что нужно сделать я знаю, но это слишком уж долго): это то, что возникает несоответствие между значением bbcode_uid и фактическим uid'ом который приклеивается к bbcode'у. Я не понимаю как оно должно быть и от чего вычисляется этот uid. Эта проблема есть как в сообщениях, так и в подписях пользователей. Вопрос - кто мне скажет где косяк и как это исправить?

Ссылка на конвертер
http://www.phpbb.com/community/viewtopi ... a#p3207210

ЗЫ О достоинствах и недостатках конвертера если что расскажу, спрашивайте, но соответственно в отдельной теме.
я люблю daft punk | новый sugoi.ru
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17271
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Сообщение rxu »

VVVas
Старые 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);
которая, как я понимаю, не отрабатывает, потому что в сообщении, полученном из базы напрямую, нет "чистых" тегов ббкода - они все с uid-ами.
Изображение
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 21 год 10 месяцев
Поблагодарили: 13 раз

Сообщение VVVas »

rxu
оно отрабатывает, я же написал что оно просто не соответствует, вот оригинальное сообщение из базы до конверта

Код: Выделить всё

(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)
То бишь в оригинале никаких уидов в IPB нет совсем. Это проблема их генерации. Вот она и не живет нормально.

Код: Выделить всё

x025fwpb
- это ждёт phpBB в качесте уида, а прилепляется ббкоду

Код: Выделить всё

2fdw1dkq
От сообщения к сообщению значения меняются.

Добавлено спустя 9 минут 45 секунд:

то есть указанный тобой код нормально отрабатывается и в том и есть его затея. А вот дальше как эти уиды добавляются я не понял.
я люблю daft punk | новый sugoi.ru
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17271
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Сообщение rxu »

А если закомментировать код

Код: Выделить всё

   // Make sure options are set.
$message_parser->prepare_bbcodes();
$message_parser->parse_bbcode();
Изображение
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 21 год 10 месяцев
Поблагодарили: 13 раз

Сообщение VVVas »

rxu
Тот же эффект, только добавился 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
Самое интересное, что уид поменял своё значение и в поле bbcode_uid и рядом с собственно кодом. От чего вообще генерируется bbcode_uid?
я люблю daft punk | новый sugoi.ru
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17271
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Сообщение rxu »

Теперь стОит попробовать заменить

Код: Выделить всё

   $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 »

rxu
Спасибо огромное - теперь всё работает, остались только подписи. Но на них видимо забью. С другой стороны, если считаешь нужным это обсуждение можно отделить в тему про конвертер, тогда там расскажу про все проблемы этого конвертера.
я люблю daft punk | новый sugoi.ru
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17271
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Сообщение rxu »

Можно и отделить. Сам сделаешь? :)
Изображение
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 21 год 10 месяцев
Поблагодарили: 13 раз

Сообщение VVVas »

rxu
Прав нет.
я люблю daft punk | новый sugoi.ru
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17271
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Сообщение rxu »

А у меня интернет пока медленный - лагает.
VVVas писал(а): остались только подписи.
Можно попробовать в convert_ipb23.php сделать замену

Код: Выделить всё

            array('user_sig_bbcode_uid',      '',                     'make_uid'),
на

Код: Выделить всё

            array('user_sig_bbcode_uid',      'members.joined',                     'make_uid'),
Изображение
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 21 год 10 месяцев
Поблагодарили: 13 раз

Сообщение VVVas »

rxu
В очередной раз я не буду больше конвертировать, потому что уже заколебался. Может чуть позже на локальной тачке. Пока только напишу чего с этим конвертером не так.
  • несоответствие между значением bbcode_uid и фактическим uid'ом который приклеивается к bbcode'у в сообщении. Решена выше, для меня была самой большой.
  • тоже самое, но в подписях пользователей. В теории решена выше, проверьте.
  • во всех сообщениях отключено использование bbcode'а. Выполнил запрос.
  • теряются темы из вложенных форумов и сами эти форумы. То есть в Базе темы есть, но на форуме вы в них попасть не сможете, поиском они даже находятся. Перед конвертацией вложенные форумы вытащите наверх и всё в порядке.
  • все пользователи становятся неактивными. Наверное можно какой-то запрос выполнить, но я сделал ручками.
  • не заполняются стандартные группы. Наверное тоже можно сделать какой-то запрос, но я сделал ручками.
  • конфигурация переносится частично. Всё нужно проверять.
  • не уверен, но вроде бы не переносятся опросы. Забил.
  • аватары и смайлики не переносятся, вроде бы можно ручками это перенести и всё будет работать - не проверял. Забил.
  • права доступа конечно же не переносятся. Особой проблемы не вижу.
Не уверен это проблема конвертера или нет. Дополнительные теги он не обработал, но и при редактировании он их не обработал. Чтобы в посте заработали дополнительные теги нужно сначала их все удалить, отправить сообщение и потом опять открыть на редактировании и вставить где надо, тогда будет. Хотя в предварительном просмотре он вроде как рисует что теги обработает и после первого редактирования.

Из плюсов - не ожидал, но было: день рождения нормально отконвертировался. В остальном всё в порядке.

Добавлено спустя 3 минуты 32 секунды:

Я с ИПБ не работал, так что если вас интересует какая-либо функция и что с ней стало после конвертации - спрашивайте, отвечу. Просто на мой взгляд вроде бы всё в норме. Если что ещё выясню - напишу.
я люблю daft punk | новый sugoi.ru
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 21 год 10 месяцев
Поблагодарили: 13 раз

Сообщение VVVas »

ну и с русскими именами пользователей у меня проблемы - но это уже не от этого конвертера, а вообще. В общем в теме про конвертацию из phhBB2 всё описано. Я так понимаю у меня тоже самое. Как решать не понял пока. Но изменение ника через админку помогает.

Добавлено спустя 1 час 57 минут 1 секунду:
VVVas писал(а):не уверен, но вроде бы не переносятся опросы. Забил.
Опросы переносятся и даже цепляются к теме, но вот содержимое опроса теряется.

Аттачей у меня не было, поэтому про них ничего сказать не могу.
я люблю daft punk | новый sugoi.ru
web_pr
phpBB 1.4.2
Сообщения: 55
Стаж: 20 лет 3 месяца
Откуда: Москва

Сообщение web_pr »

а полноценный конвертер появится, или всегда будет такая недоделка? :(
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17271
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Сообщение rxu »

Так это вопрос к автору конвертера (тема на оффсайте указана в первом посте).
Изображение
Аватара пользователя
ZhAN
phpBB 1.2.1
Сообщения: 25
Стаж: 18 лет 2 месяца
Откуда: Киев
Благодарил (а): 2 раза
Поблагодарили: 4 раза

Re: Конвертирование IPB 2.3.x -> phpBB 3.0.x

Сообщение ZhAN »

Пытаюсь использовать этот же конвертор.
Ваши подсказки помогли починить цитаты, спасибо.

Хотелось бы побороть аттачи.
Итак что мы имеем после конвертации:
таблица 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 с аттачами в теле сообщения работает?

Вернуться в «Поддержка phpBB 3.0.х»