В продолжение поста 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/