Производство фотообоев в Новосибирске. Интернет магазин фотообоев. Изготовление - один день! Каталог 10 000 изображений!
9 Ноябрь 2011

PHPBB 2 Битрикс — личные сообщения

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

рубрики: Bitrix | Комментарии (1)