f2065 6 02/02/2017 09:09 AM Есть два форума, оба доведены до версии 3.4.9, надо их слить в один.При помощи IP Converters это вроде бы успешно получилось, но… 1. Не очень понятно что происходит с одноимёнными пользователями. В принципе большинство одноимённых пользователей - реально один пользователь и их надо тоже объединять.Но наверняка есть и разные одноимённые пользователи, и их объединять нельзя.IP Converters очевидно объединяет пользователей по email, но как он поступает если имя одинаковое но email разный? 2. В постах было много URL-ссылок на соседние топики/посты/пользователей - старый_форум/index.php?showtopic=XXXXX&p=YYYYY, showuser=ZZZZZ, и т.п.При переносе второго форума в первый - ID постов и пользователей стали разумеется новые (т.к. такие номера уже были заняты в первой базе), но в постах - все ссылки остались на старые адреса со старыми ID.Домен то я могу в ссылках изменить при помощи поиска и замены в SQL-дампе, но вот изменить старые ID на новые - я не представляю как.Что делать? Если при переносе индексы во всех ID постов/юзеров увеличиваются линейно и в том же порядке - то есть мысль написать программу которая находит в перенесённой части базы все URL-ссылки на старые ID и увеличивает их… Но наверняка ведь есть какие-то готовые решения? Share this post Link to post Share on other sites
newbie 1,720 02/02/2017 11:03 AM Не очень понятно что происходит с одноимёнными пользователямиСмотрите логи в папке cache. Название файла начинается с converter_error_log_ 2. Данные есть в таблицах, названия которых начинаются с conv_. 1 Share this post Link to post Share on other sites
f2065 6 02/02/2017 09:53 PM 2. Данные есть в таблицах, названия которых начинаются с conv_.Да, есть там это. Запрос типа SELECT ipb_id FROM b_conv_link_topics WHERE foreign_id=старый_ID - выводит новый ID топика и т.п. А есть какие-то готовые инструменты для правки всех ID в ссылках на посты/топики/пользователей?Раз в БД эти таблицы есть - то очевидно их кто-то использует? Share this post Link to post Share on other sites
newbie 1,720 02/03/2017 08:31 AM А есть какие-то готовые инструменты для правки всех ID в ссылках на посты/топики/пользователей?Не встречал.Раз в БД эти таблицы есть - то очевидно их кто-то использует? В папке Tools, что идет с конвертерами, есть скрипты-редиректы для различных cms Share this post Link to post Share on other sites
f2065 6 02/03/2017 09:29 AM (edited) Не встречал.А как же люди сливают два форума в один? Так и оставляют кривые ссылки в постах перенесённых со старого форума? Ведь практически на любом форуме есть URL-ссылки на посты… В папке Tools, что идет с конвертерами, есть скрипты-редиректы для различных cmsЯ не очень понимаю как эти скрипты использовать, куда их надо подключать и как…Но главное - я там не вижу сриптов для самой IPB. Там всё для других систем (Links - vBulletin 5, Links - XenForo, Links - phpBB и т.п.), а у меня то оба форума на IPB. Edited February 3, 2017 by f2065 Share this post Link to post Share on other sites
newbie 1,720 02/04/2017 07:29 AM А как же люди сливают два форума в один?Нужно у них спросить.Может устанавливают реврайты в htaccess, может отлавливают ссылки в php-скриптах, может на старом форуме делают редирект на php-файл на новом, где проверяют ссылки. Основная задача конвертера - преобразование форума на платформе, отличной от ipboard, в ipboard.Вот свежий пример http://ipbskins.ru/forum/topic13638.html/. Кто виноват, что ips не подумали про ваши ссылки в постах :) Share this post Link to post Share on other sites
f2065 6 02/04/2017 06:40 PM 2. Данные есть в таблицах, названия которых начинаются с conv_.А там я что-то не вижу ID пользователей… Только ID постов, тем, и вроде бы ЛС. Ничего похожего на ID пользователей нет. И как править в таком случае ссылки вида /showuser.php ? Разве что превращать на исходном форуме их в тег MEMBER, но что-то он не прижился да и у него очевидно проблема будет если пользователь переименуется… Вобщем это путь не подходит. А более я что-то не вижу решений (кроме как вообще удалить все URL index.php?showuser=[01234567890]+ на добавляемом форуме до слияния). Share this post Link to post Share on other sites
Dmitriy427 198 02/04/2017 07:31 PM И как править в таком случае ссылки вида /showuser.phpТолько скриптом. Определить новый id пользователя можно и по дополнительным признакам - никнейм, почта. Т.е. парсите ссылку регуляркой, определяете старый id, по нему, в таблице из старой базы выбираете данные пользователя, ищете их в новой базе, генерите ссылку, делаете замену. Это не так сложно как кажется. :) Share this post Link to post Share on other sites
newbie 1,720 02/05/2017 07:00 AM А там я что-то не вижу ID пользователей… Только ID постов, тем, и вроде бы ЛС. Ничего похожего на ID пользователей нет.SELECT * FROM conv_link WHERE type='members'; 1 Share this post Link to post Share on other sites
f2065 6 02/10/2017 11:06 PM (edited) А вот все ID аттачей при конвертации корректно преобразуются…Хотя в SELECT * FROM `b_conv_link` WHERE `type`='attachments' записаны их старые номера (foreign_id) и новые номер (ipb_id).Нашёл конкретные посты, у них в исходной базе и в финальной - разные ID, всё правильно изменено. Т.е. IP Converter номера аттачей переписал во всех постах. Но почему аналогичным образом не конвертируются ID топиков, постов, пользователей???Может надо в исходной базе что-то донастроить, или ссылки showtopic в какой-то другой формат преобразовать? Edited February 10, 2017 by f2065 Share this post Link to post Share on other sites
f2065 6 02/15/2017 11:02 PM Проблему решил так:Выгрузил php-скриптом foreign_id и ipb_id для members forums posts topics в бинарные файлы.Выгрузил дамп базы.Написал конвертилку текста которая пробегается по дамп-файлу и в соответствии с foreign_id=ipb_id изменяет там адрес/ID в домен/index.php?showtopic=ID, домен/index.php?showtopic=ID&p=ID, домен/index.php?showuser=ID, домен/index.php?app=forums&module=forums§ion=findpost&pid=ID.Вроде всё как надо в итоге стало, все ссылки на новые правильные места стали вести, с правильными ID. Если эта процедура востребована - то можно сделать готовый набор скриптов и инструментов… 1 Share this post Link to post Share on other sites
Dmitriy427 198 02/16/2017 01:55 AM Готовый, универсальный набор инструментов "для чайника" вы не сделаете, это задачи из разряда "обработать напильником". У меня есть уже с десяток таких наборов постобработки конвертированных баз (ссылки, бб-коды, смайлы), каждый подходит исключительно для одного конкретного случая. Share this post Link to post Share on other sites