Конвертируем IPB 2.3.x в phpBB 3.0.5
Переход с IPB на phpBB довольно веселое дело
. Приготовьтесь к тому, что просто «откинуться на спинку кресла» не получится.
Я воспользовался конвертором, который выложили вот здесь:
http://www.phpbb.com/community/viewtopic.php?f=65&t=576207&sid=f4e5ac48a626429fa8c49f016248d1ed&start=210#p9367695
Конвертор придется немного подправить.
В файле functions_ipb23.php в функции phpbb_set_encoding нужно прописать кодировку исходного форума IPB:
function phpbb_set_encoding($text, $grab_user_lang = true) { global $lang_enc_array, $convert_row, $db_character_set; global $convert, $phpEx; // get from Table:language, charset= //$db_character_set = 'iso-8859-1'; // Sergei_T $db_character_set = 'windows-1251'; $encoding = $db_character_set; return utf8_recode($text, $encoding); }
У меня, после конвертирования, пользователи с русскими именами были перенесены неправильно, в файле convert_ipb23.php ищем строчки:
738 739 | array('username', 'members.name', array('function1' => 'ipb_fix_name', 'function2' => 'phpbb_set_encoding', 'function3' => 'utf8_htmlspecialchars')), array('username_clean', 'members.name', array('function1' => 'ipb_fix_name', 'function2' => 'phpbb_set_clean_name')), |
Заменяем на:
array('username', 'members.name', array('function1' => 'phpbb_set_encoding', 'function2' => 'utf8_htmlspecialchars')), array('username_clean', 'members.name', array('function1' => 'phpbb_set_clean_name')),
Кодировка имен пользователей будет сохранена, но после конвертации нужно будет запустить скрипт username_clean.php, чтобы пользователи с русскими именами могли нормально заходить на форум.
Конвертор с моими изменениями (оригинал в комплекте): IPB2.3.x_to_phpBB3_04a_Sergei_T.tar.gz
Сначала делаем дамп базы IPB, например, так:
mysqldump -u root -p ipbbase > ipbbase-dump
Создаем в консоли MySQL базу и пользователя для phpBB:
create database phpbb-base;
create user 'phpbb-base-user'@'localhost' identified by your-password;
grant all on phpbb-base.* to 'phpbb-base-user'@'localhost';
Таблицы из дампа IPB копируем в созданную базу phpBB:
mysql -u root -p phpbb-base < ipbbase-dump
Для работы конвертора указываем пользователя и пароль к базе phpBB, во время работы конвертора данные из таблиц IPB будут перенесены в таблицы phpBB, поэтому не указывайте рабочую базу IPB.
После конвертирования может понадобится создать нового пользователя с правами администратора. Например, вот таким запросом (создает в базе phpBB нового пользователя с логином admin1 и паролем admin):
INSERT INTO phpbb_users (user_type, group_id, username, username_clean, user_regdate, user_password, user_email, user_lang, user_style, user_rank, user_colour, user_posts, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_post_sortby_type, user_post_sortby_dir, user_topic_sortby_type, user_topic_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_from, user_icq, user_aim, user_yim, user_msnm, user_jabber, user_website, user_occ, user_interests, user_actkey, user_newpasswd) VALUES (3, 5, 'Admin1', 'admin1', 0, '21232f297a57a5a743894a0e4a801fc3', 'adm...@adm', 'en', 1, 1, 'AA0000', 1, '', '', '', '', '', 't', 'a', 't', 'd', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
Распечатать
Другие записи:
- Поднимаем Openfire на Debian 5
- Поднимаем учет трафика на Squid и TraffPRO – Часть 1
- MySQL: сделаем это по-быстрому
- Монтирование удаленных ресурсов с помощью Gigolo
- Запрещаем выполнять команды по ssh, но разрешаем scp, sftp, cvs, rdist или rsync в Debian Lenny
- Осторожно БОЯН! Сброс root пароля MySQL :)
- Простое монтирование удаленного диска по sftp в консоли
- Баг: не работает MailHide в WP-reCAPTCHA
- Массовое переименование таблиц базы данных MySQL
- Готовим WordPress к переносу с localhost

Подопытным стал форум портала http://anime16.ru
phpBB версия здесь: http://anime16.ru/forum
Удалось перенести автоматически:
Форумы
Атачменты
Смайлы
Пользователей
Подписи пользователей
Аватары
Во-первых,выражаю благодарность за проделанную работу товарищу Sergei_T.Перенеслось отлично,но все же не без багов(а где вы видели все идеальное?),которые я буду отписывать по мере нахождения.Собственно нашел 2 мелких бага сразу,это:
1.остался код [attachment]т.к. прикрепление изображений в phpbb иной.
2.при цитировании появился код {POST_SNAPBACK} который посылает на гл.страницу.
{ххх писал(а):
Цитата(ххх @ 7.4.2009, 20:20) {POST_SNAPBACK}
Bamboo blade,чето типа такого сматрю}
Остальное буду отписывать по мере нахождения
я думаю коды лишние в постах удалить SQL запросом может?
можно.
Надо подумать – пока времени нет.
чето неоткрывается http://anime16.ru/forum пишет 404.
Форум убрал, т.к. админы с anime16 не могут решить кто из них главный и т.п. Теперь пусть делают сами)))
2cid:
не лезь на мой блог
А для какой версии IPB это подходит? А то у меня почему то не получается сконвертировать
Пробовали на 2.3.6
а где именно не получается?
поподробнее….
Привет. У меня на localhost стоит ipb 2.3.5 и phpbb3. В ipb есть пользователь ivan, в phpbb – admin. При запуске конвертора через http://localhost/install/index.php?mode=convert&language=ru&sub=settings&tag=ipb23 прописываю базу данных ipb и после этого, как я полагаю, в таблице phpbb_users должна появиться запись ivan, но происходит удаление пользователя admin и ничего не добавляется. В чем проблема?
Нужно смотреть дамп базы – так сразу не скажешь. Обычно при переносе пользователей из ipb в phpbb затирается админская учетка, ее добавлял SQL запросом. С ipb 2.3 вроде нормально переносил пользователей.