shishkov
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Хотел поделиться тем, что удалось сделать. Был старый форум Ikonboard 2.1.7, который проработал 12 лет прекрасно. Но, от ручного размещения html пришлось уйти на CMS. Был выбран Drupal 7., который имеет модуль по импорту пользователей (User Import Framework 7.x-1.5 Simple, extensible user import from a CSV file.) и интегрируется, с помощью устанавливаемого внешнего модуля (phpBBforum 7.x-1.0-alpha3), c конференцией PHPBB 3.0.9, у которой тоже есть модуль по импорту сообщений в XML формате (Import messages from XML files. Message Import)***. В архиве две программки на perl5: одна для пользователей, другая - для сообщений. Работает из директории со скриптами айконборд-а (нужы ее библиотеки). Та, что для пользователей \cgi-bin\ikonboard\coimport_users_2_drupal.pl - создает несколько файлов csv с пользователями. Несколько - для того, чтобы при импорте на сервере не превышалось время исполнения скрипта. Кроме того, создается несколько файлов, вспомогательных, для работы кода для импорта сообщений из форума. Без первой - программа для импорта сообщений не будет работать Создаютcя файлы: users???.csv - собственно user-ы для Drupal7 (для модуля импорта) Тут есть особенность - по титулу мемебера устанавливается роль в друпале (задается в тексте скрипта), existed.usr- ползователи которые будут импортироваться badusers.csv - c плохими мейлами или без них secondusers.csv - IB217 регистрировались разные пользователи с одинаковыми мейлами, а друпал с phpbb3 не дают таких пользователей регистрировать, поэтому пользователи с более новыми сообщениями заменяют старых. existed и secondusers - использует вторая программа. Для импорта сообщений: \cgi-bin\ikonboard\convert_ikon2xml2importphpbb3.pl запускаем только после запуска и окончания работы первой!! - тоже создает для каждого форума отдельный хмл-файл, и тоже для правильной работы скриптов модулей импорта в phpbb3 файлы форумов обрезаются 5000 (можно поменять в скрипте) сообщений и создается новый файл с этим форумом и т.д. Кроме того, в скрипте можно поменять путь к xml файлам и задать время, начиная с которого надо импортировать топики. Для скриптов - нужен модуль XML::parser, но и без него будет работать нопроверять целостность XML файлов не будет. + Encode - но теперь, вроде, он стандартный Предполагается что файлы IB271 - в win1251, а xml -в UTF8 ***Кстати, в этом модуле импорта есть небольшой баг (для исправления (для кодировки UTF-8) замените функции определения длин строк и операций с подстроками на функции php, которые умеют работать с мультибайтными кодировками у них префикс "mb_") ps Приложил готовый в архиве. Еще важно, после импорта сообщений перестроить с помощью stk для phpbb [BB code] коды Программки немного комментированы, но если вопросы - пишите. Пусть кто-нибудь не тратит столько времени и сил сколько потратил я, а просто воспользуется . Собственно архив: https://yadi.sk/d/maPJNLN7bojMd Всем удачи. | Всего записей: 44 | Зарегистр. 15-06-2002 | Отправлено: 04:27 04-10-2014 | Исправлено: shishkov, 04:41 04-10-2014 |
|