В продолжение поста Bitrix API: конвертация форума с PHPBB.
Вчера запустил форум сконвертированный с PHPBB – и конечно же не без косяков … забыл я перенести персональные сообщения, а они, как оказалось, очень сильно юзались в старой версии форума.
Срочно пришлось ваять скриптик переноса личных сообщений с PHPBB на Битрикс форум (предполагается, что все юзера уже перенесены).
Итак:
В phpbb ЛС храняться в таблицах _privmsgs и _privmsgs_text (связь один к одному).
Логика отправки такая:
* Отправитель – отправил сообщение – новая запись privmsgs_type = 1 (у отправителя “исходящие”)
* Получатель увидел сообщение – изменился privmsgs_type = 5 (у отправителя “исходящие”)
* Получатель прочитал сообщение – изменился privmsgs_type = 0 (у получателя “отправленные”) + в БД создается новая запись (копия предыдущей но со статусом) privmsgs_type = 2 (у отправителя “отправленные”)
* Отправитель переместил в Сохранённые privmsgs_type = 4
* Получатель переместил в Сохранённые privmsgs_type = 5
В Битриксе понадобится знание FOLDER_ID
1 – входящие
3 – отправленные
4 – корзина
Дальше всё более менее просто:
Дёргаем все сообщения из phpbb, далее заносим их в Битрикс с помощью API функции CForumPrivateMessage::Send() в соответствии с типами privmsgs_type кидаем в нужные папки FOLDER_ID.
Для сопоставления ID юзеров я заюзал функцию из предыдущей статьи __GetUserInfo
Один комментарий на «“PHPBB 2 Битрикс – личные сообщения”»
Можете перенести этот форум?
http://bus-club.ru/forum/