В принципе эта задача одним запросом решается, если вам это разово сделать нужно, то вот запросы переноса из vBulletin в LS 0.3.1 (под php-nuke переделать, думаю, не сложно будет):
1. Перенос пользователей (ls — база с LS (предполагается свежеустановленный LS без пользователей), vb — база с vBulletin):
INSERT INTO ls.prefix_user (user_login, user_password, user_mail, user_date_register, user_ip_register, user_profile_icq) SELECT username, password, email, passworddate, ipaddress, icq FROM vb.user;
2. Создание персональных блогов новых пользователей:
INSERT INTO ls.prefix_blog (user_owner_id, blog_title, blog_description) SELECT user_id, CONCAT('Блог им. ', user_login), '' FROM ls.prefix_user
Суть такова — делаем insert, указываем нужные поля для переноса, и в качестве данных для insert подставляем результат select запроса из переносимой базы, соответственно поля выборки должны совпадать со вставляемыми в LS.
Возникает проблема с паролями — если принцип хранения разный (например, в исходном движке используется соль, а в LS — нет), то придется пользователей известить о смене пароля. Тут ситуации бывают разные.
И вызывай в нужном экшене.
Так же делается для коллективных, персональных блогов.
1. Перенос пользователей (ls — база с LS (предполагается свежеустановленный LS без пользователей), vb — база с vBulletin):
2. Создание персональных блогов новых пользователей:
Суть такова — делаем insert, указываем нужные поля для переноса, и в качестве данных для insert подставляем результат select запроса из переносимой базы, соответственно поля выборки должны совпадать со вставляемыми в LS.
Возникает проблема с паролями — если принцип хранения разный (например, в исходном движке используется соль, а в LS — нет), то придется пользователей известить о смене пароля. Тут ситуации бывают разные.