1С-Битрикс: Управление сайтомНа главную страницу
Клиентам
Маркетплейс
Партнерам
Разработчикам
Интеграция с 1С
Идея?


Личный кабинет
Авторизоваться
Регистрация
(войти) Корзина
Логин:

Пароль:



Забыли свой пароль?
Регистрация
Войти как пользователь:
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
ВКонтакте
Мой Мир
Twitter
Facebook
Google
Livejournal
Яндекс
Rambler
Mail.Ru
Liveinternet
Blogger
OpenID
Используйте вашу учетную запись VKontakte.ru для входа на сайт.
Используйте вашу учетную запись Мой Мир@Mail.ru для входа на сайт.
Используйте вашу учетную запись на Twitter.com для входа на сайт.
Используйте вашу учетную запись на Facebook.com для входа на сайт.
Используйте вашу учетную запись Google для входа на сайт.
.livejournal.com
@yandex.ru
@rambler.ru
@mail.ru
http://www.liveinternet.ru/users/ /
.blogspot.com
OpenID:
  • Документация
    • Управление сайтом
    • Корпоративный портал
    • .NET Forge CMS
    • Отраслевые решения
    • Marketplace
    • Аренда приложений (SaaS)
  • Обучение и сертификация
    • Онлайн-курсы и сертификация
    • Учебные центры
    • Мое обучение
    • Учебные видеоролики
  • Центр поддержки
    • Поддержка
    • FAQ
    • Мои обращения
  • Сообщество
    • Блоги Битрикс
    • Блоги веб-разработчиков
    • Общие форумы
    • Веб-разработчики
      • Моя страница
      • Мои сообщения
      • Группы
      • Найти коллег
  • Cтатьи
    • Архив
Главная / Общение / Сообщество разработчиков / Долганин Антон / Типа блог
  • Учебный процесс
  • Коммуникации
  • Автоматизация работы

Переезжаем с phpBB на форум Битрикс

Профиль
Друзья
Группы
Типа форум
Типа блог
Микроблог

Долганин Антон

Дата последнего входа: 17.05.2012 01:37:11
Город: Казантип

Переезжаем с phpBB на форум Битрикс

5
Долганин Антон
23.06.200900:4023.06.2009 00:40:26
Ну вот наконец я заставил себя это сделать - написать техническую статью для переноса phpBB на Битрикс. Хотел оформить мастером, но много лишнего времени убил бы, но главное - очень плохо знаю phpBB, боялся что-то упустить. Так что под кат путь открыт только техническим специалистам.

Сразу предупреждаю - по поводу где то или иное посмотреть в phpBB не спрашивайте - я его админку открывал последний раз лет пять назад smile:)

И еще одно предупреждение - скрипт не просто для запуска, вы должны внимательно с ним ознакомиться, может быть внести правки.

Скрипт переноса написан под последние версии форума (в частности когда он переоделся). Можно легко заточить и под ранние версии. В частности придется поломать голову над атачем файлов - в phpBB можно цеплять несколько файлов к посту, а у Битрикса это появилось недавно. Это единственное ограничение, которое не позволяет скрипт с легкостью применять на ранних версиях форума Битрикс.

Да, еще важное замечание - перенесено максимально возможное, что может быть перенесено на Битрикс. То есть моды форума я не трогал понятно. Также не переносил вещи, которых нет в Битриксе. Но это только одна - опросы. Сами топики опросов перенесутся, но перестанут быть опросами. И да, я не трогал персональные сообщения, но там ничего сложного нет. Если потребуется - подскажу как лучше сделать.

Ну, теперь собственно перейдем к файлам переноса (я устал от здешнего отображения кодов, поэтому скинул на сервер с раскраской, ниже есть архив, содержащий все эти файлы):
forum.php
users.php
vars.php
Теперь подробнее о файлах и предварительных настройках.

Несколько слов о структуре файлов. Селект из БД вынесен за пределы Битрикса, потому что часто бывает что БД форума находится в другой базе нежели Битрикс. Может быть даже и друга кодировка. Если другая кодировка, то можно либо конвертить все текстовые поля, либо (что проще) сначала базу форума перекодировать.

Пару слов о пользователях. Они конечно все переносятся тоже. Их логином становиться имя на форуме. Имя/фамилия остаются пустыми. E-Mail тоже переносится. А вот с паролями туго. В одной версии phpBB они хранятся так, в другой иначе. Копаться и разбираться я не стал. Если вашим пользователям будет не лень после апдейта единственный раз напомнить пароль себе, то ни с чем и не надо заморачиваться. Если не хотите доставлять неудобств пользователям, можете писать обработчик для логирования старых пользователей. Тут уже каждый случай индивидуален. Также кое что о пользователях ниже еще.

А теперь порядок ваших действий:
1. Нудное занятие, которое я не стал автоматизировать и даже не написал никаких вспомогательных скриптов. Нужно создать форумы в Битриксе smile:) Но это еще не самое страшное. Самое страшное - это в таблицу (имя таблицы определяется в секции констант основного файла) нужно занести соответствие старых ID форумов и новых. Ее структура следующая: ID | OLD_ID | NEW_ID. ID - автоинкремент, остальные поля int'овые. Автоинкремент необязателен, просто для порядка.

2. Создаем две дополнительных таблицы, у меня они называются b_gp_old_bb_topics и b_gp_old_bb_posts для соответствия старых и новых ID-шников топиков и постов соответственно. Структура аналогичная: ID | OLD_ID | NEW_ID. ID - автоинкремент. Если другие названия, то измените в константах.

3. Добавляем иконки тем через админку Битрикса. Можем сразу и смайлы, но смайлы нам не потребуется. Подразумевается, что перед переносом вы вручную внесли смайлики в Битрикс с теми же кодами что и в phpBB. В файле vars.php в секции "ICONS" перечисляем соответствия старых ID иконок новым.

4. Идем в файл форума phpBB /include/constants.php, там находим константу POST_STICKY. Скорее всего она равна единице, но мало ли. Переносим ее в наш основной файл (она уже есть в секции "define_sections").

5. Очень внимательно заполняем defin'ы в секции "define_sections" обоих файлов. Кое какие пояснения по константам будут и ниже.

6. В файле vars.php в секции "TRUNCATE BB" перечисляем BB-коды, которые есть на старом phpBB форуме, но их нет в Битриксе. Там увидете примеры и поймете о чем речь. В стандартной поставке phpBB коды не отличаются, но, повторюсь, есть еще куча модов.

7. В скриптах обратите внимание на секцию "afterconnect section", в ней прописано действия с БД после соединения, может быть что-то еще. Исправьте или удалите.

8. Теперь уберем баг в модуле форума Битрикса (на время, потом можете вернуть). Идем в /bitrix/modules/forum/classes/general/topic.php и ищем там метод добавления топика Add, коментим там
Код
$arFields["VIEWS"] = 1;
Я не знаю зачем это сделал разработчик форума. Если это не сделать, то все топики создадутся с просмотром равным единице.

9. А теперь придется немного покодить smile:) А именно, написать функцию выдергивания вложений __GetAttachmentsArray (которая в файле forum.php). Почему я не стал ее писать. Потому что заметил, что на одном форуме файлы хранятся так, на другом иначе. Этот phpBB не поймешь. Но там особо ничего сложного нет. Ей передается id поста в старом форуме, а вы уже дергаете файл(ы) и возвращаете их массив. В комментариях функции приведен пример. Вложения хранятся в таблице %attachments%.

10. На момент написания статьи при использовании стандартного метода добавления топика CForumTopic::Add, у форума не увеличивалось количество топиков. Это приходилось делать вручную. Убедитесь, умеет ли на вашей версии Битрикс сам апдейтить. Если нет, то оставьте в секции констант UPDATE_TOPIC_COUNT в положении Y, иначе переведите в N.

11. Переходим к пользователям. Необходимо добавить пользовательское свойство: тип число, код UF_PHPBB_ID, название "ID на форуме phpBB". Оно вам может понадобиться на случай авторизации старых пользователей. И еще, пользователи будут проверяться на предмет наличия их e-mail в базе. Если такой e-mail есть, то пользователь не будет создаваться, а браться существующей. Советую до переноса в Битриксе удалить дубли e-mail. Но в любом случае будет браться последний внесенный в базу логин. Если e-mail'a в базе найдено не будет, то будет проверяться есть ли в базе логин phpBB'шный. Если такой логин есть, то все равно создастся новый пользователь, но уже с логином равным e-mail'у.

12. Еще кое что о пользователях. В файле users.php определяется константа TBL_BANLIST. Это таблица, где хранятся забаненные пользователи. Если указано ее имя, то такие пользователи в Битриксе будут создаваться неактивными (другого способа запретить им писать не нашел). Если вы хотите даровать амнистию, то просто определите эту константу как "null".

13. Необходимо в настройках форума выставить максимально возможные размеры и вес аватар, потом можно вернуть на прежние позиции. Дело в том, что скрипт не будет проверять, соответствует ли загружаемый аватар требованиям, проверять будет система. И если он хоть на байт больше, то профайл форума для пользователя не создастся.

14. Уже под конец вспомнил. Те настройки соединения с БД, которые пишутся в начале исполняемых файлов могут НЕ ИМЕТЬ никакого отношения к Битриксу, так как форум может лежать вообще в отдельной базе. Такое часто бывает. Если они совпадают с Битриксом - нет проблем, пишите те же доступы.
UPD by Данил Грудзинский
Цитата
Если форум и сайт используют разные БД то таблица соответствия форумов должна быть создана в БД форума, а таблицы соответствия постов и топиков - в БД сайта.


Вот собственно и все, теперь как пользоваться.
Скачиваем архив с файлами, выкладываем их на сервер, где стоит Битрикс и так же есть возможность достучаться до форума phpBB. Я бросил их в корень сайта. Настраиваем все как описано выше и можно запускать.

Сначала переносим пользователей (файл users.php), потом топики и посты форума (forum.php).

Самое интересное (и глупое) - как их запускать. Скорее всего за один запуск скрипта все не перенесется и придется несколько подходов делать. Я не стал делать никакой автоматизации, так как форумы, которые переносил, не такие уже супер-большие.

В общем, схема такая:
1. В самом верху файла ($lastID), которые запускаем, прописываем последний перенесенный ID. На первом шаге он будет равен нулю.
2. Запускаем скрипт через браузер.
3. В самом концу списка выведется последний добавленный ID (см. скрин), заносим его в ) $lastID. Повторяем п.1-3 пока не будет все перенесено.



А теперь немного о том, зачем мы создавали дополнительные таблицы и запоминали соответствие старых ID'шников новым. Это нужно чтобы сохранились переходы по старым ссылкам.
Для начала создадим три правила обработки адресов:
1. Для пользователей. У меня выглядит так:
Условие: #^/memberlist.php\?mode=viewprofile&u=(.*)#
Правило: /redirect/forum_user.php?id=$1
2. Для форумов:
Условие: #^/viewforum.php\?f=(.*)#
Правило: /redirect/forum.php?id=$1
3. Для топиков:
Условие: #^/viewtopic.php\?f=(.*)&t=(.*)#
Правило: /redirect/forum_topic.php?f=$1&t=$2

Вы конечно можете создать и другие правила (например, для конкретного сообщения, данных хватает), но мне хватило и этих. И конечно адреса могут отличаться.

Вот как у меня опять же выглядят скрипты обработки правил выше:
1. Для пользователей
2. Для форумов
3. Для топиков


Вот собственно и все. Повторюсь, статья для разработчиков, а не для клиентов. Скрипты не есть мастер, их надо будет подтачивать напильником. Я просто хотел донести основные моменты переноса, думаю мне это удалось.

Ну и напоследок, если кто-то решит эти вкусности оформить в виде мастера - бога ради, буду только рад, мое имя упомянуть не забудьте при распространении smile:) Но, повторю, прежде чем писать мастер, надо хорошо знать phpBB - как он менялся от версии к версии, какие есть распространенные моды и прочее и прочее. Я не обладаю такими знаниями.

Файл переноса

PS: Перед полным переносом форума протестируйте на нескольких топиках, мало ли. Только после тестовых запуском не забудьте очищать таблицы соответствий айдишников.
Долганин Антон
23.06.200900:4023.06.2009 00:40:26
Просмотров:7794 Комментариев:52 5
Теги: phpBB, форум
*
 
Незарегистрированным пользователям запрещена вставка ссылок. Зарегистрируйтесь или авторизуйтесь.
*
Добавить комментарий
0
Сергей Рыжиков
23.06.2009 11:35:42
Спасибо за статью, Антон!

Слушай, а давай сделаешь мастер переноса? Мы даже немного профинансируем разработку. В скором времени мы откроем маркетплейс и будет хорошо, если там появится мастер переноса форума с phpBB на Битрикс.
Ответить Ссылка 0
0
Долганин Антон
23.06.2009 14:02:27
Основная проблема, Сергей, в том, что у phpBB много модов, которые могут менять структуру базы данных. По крайней мере я натолкнулся на такую версию, хотя может это и разработчик поковырялся.

Но я думаю можно будет как-нибудь выкрутиться и учесть все по возможности.

К открытию маркетплейс я тогда постараюсь мастер сделать, может к тому времени появится и помощник в виде знатока phpBB smile:)
Ответить Родитель Ссылка 0
0
Сергей Рыжиков
23.06.2009 15:55:02
Отлично!
Я надеюсь, к концу недели ребята смогут открыть бету системы обновлений для модулей партнеров.
Ответить Родитель Ссылка 0
0
Долганин Антон
23.06.2009 16:16:03
Просто отличная новость smile:)

Надеюсь будет спам по партнерам и клиентам об открытии такого местечка, но после наполнения его партнерами smile:) Как раз мини-реклама разработкам будет.

То есть хотелось бы два анонса - один просто в форуме или блоге и второй уже через некоторое время - анонс по всей сети партнеров и клиентов.

Надеюсь не сильно наглое пожелание smile:)
Ответить Родитель Ссылка 0
0
pent@gon
25.06.2009 18:38:21
Мы в свое время делали переносы phpBB на Битрикс.
В разных случаях были разные проблемы... Я об этом ничего не расскажу, так как это вотчина наших программеров.

Если что интересует, опытом поделиться или поболтать на тему - обращайтесь, дам контакт человека, который это делал...
Ответить Родитель Ссылка 0
0
Долганин Антон
25.06.2009 19:06:53
Да нет там особых проблем. Просто структура разная. Где-то текст вместе с постами идет, где-то в отдельную таблицу. Также и файлы, также и ПМ. Голова на плечах и код выше - перенести можно даже начинающему программисту.
Ответить Родитель Ссылка 0
0
Грудзинский Данил
28.09.2009 19:51:00
Наверно здесь должна была бы бать куча постов с благодарностями от секономивших кучу сил и энергии програмистов, но раз все предпочитают сдерживтаь свои емоции я буду первым. Спасибо вам, Антон, за наше счастливое детство=) Потратил наверно часов 5 суммарно на данную задачу, учитывая что около половины этого времени не мог заставить себя выдернутся от "ничегонеделания-лажу-я-по-форумам-и-торможу". (я ооочень начинающий програмист в сфере веб)

Единственное что для лёгкости восприятия можно было бы дописать в пункте 14 что если форум и сайт используют разные БД то таблица соответствия форумов должна быть создана в БД форума, а таблицы соответствия постов и топиков - в БД сайта. Оно то очевидно, но свои минут 20 тыканья носом забирает.
Ответить Ссылка 0
0
Долганин Антон
29.09.2009 01:34:07
Рад что пригодилось еще кому-то smile:) Я потратил на изучение всего этого ну пару дней точно, постоянно откатывая, удаляя, накатывая.

Цитата
Единственное что для лёгкости восприятия можно было бы дописать в пункте 14 что если форум и сайт используют разные БД то таблица соответствия форумов должна быть создана в БД форума, а таблицы соответствия постов и топиков - в БД сайта. Оно то очевидно, но свои минут 20 тыканья носом забирает.

Уже толком не помню нюансы скрипта, дописал вашим авторством просто.
Ответить Родитель Ссылка 0
0
Александр
21.11.2009 18:14:07
Антон, а для форума IPB нет подобного решения?
Ответить Ссылка 0
0
Долганин Антон
21.11.2009 22:45:42
Нет, с IPB не доводилось сталкиваться smile:)
Но, если не ошибаюсь, архитектура форумов IPB и phpBB похожи.
Ответить Родитель Ссылка 0
0
Александр
22.11.2009 00:59:25
IPB более навороченный всякими штуками...
Так что, по-любому придётся что-то выдумывать, чтобы корректно перенести информацию, которая не поддерживается форумом битрикса smile:(
Вот и думаю теперь, что делать с прикреплёнными файлами, голосовалками (чекбоксы и радиокнопки), прикреплёнными темами и пр.
Ответить Родитель Ссылка 0
0
Долганин Антон
22.11.2009 01:29:34
Цитата
IPB более навороченный всякими штуками...

Ну да, от "штук" придется отказываться, которых нет в Битриксе.

Цитата
Вот и думаю теперь, что делать с прикреплёнными файлами, голосовалками (чекбоксы и радиокнопки), прикреплёнными темами и пр.

А тут-то какие проблемы? Файлы в форуме Битрикса можно несколько к посту прицеплять, опросы тоже появились.
Ответить Родитель Ссылка 0
0
Александр
22.11.2009 13:15:35
Цитата
А тут-то какие проблемы? Файлы в форуме Битрикса можно несколько к посту прицеплять,

Про несколько файлов в посте не знал. Спасибо.

Цитата
опросы тоже появились.

А несколько опросов в посте?

В целом Вы меня порадовали. Хоть ИПБ и хорошая штука, но хочется иметь сайт на одном движке
Ответить Родитель Ссылка 0
0
Долганин Антон
22.11.2009 13:31:09
Цитата
А несколько опросов в посте?

http://clip2net.com/page/m0/2674121
Есть понятие вопроса и варианта ответов (через модули опросов).

Цитата
Хоть ИПБ и хорошая штука, но хочется иметь сайт на одном движке

ИПБ разбаловал народ, все-таки это узкоспециализированная команда, поэтому и напихали туда всяких вкусняшек. Но форум Битрикса уже вполне рабочий.
А если будет реализовано вот это: http://dev.1c-bitrix.ru/community/webdev/group/15/forum/21511/ то Битрикс будет составлять ооочень сильную конкуренцию на рынке форумов.

Ну и да, слабое место Битрикса - это нет шаблонов, я не знаю почему их никто не рисует. За те же 50-70 баксов разлетались бы только так, ну и бесплатные в виде саморекламы тоже.
Ответить Родитель Ссылка 0
0
Александр
22.11.2009 13:59:25
Цитата
Есть понятие вопроса и варианта ответов (через модули опросов).

Да, Вы правы. Я неправильтно выразился smile:oops:

Цитата
А если будет реализовано вот это: http://dev.1c-bitrix.ru/community/web...rum/21511/ то Битрикс будет составлять ооочень сильную конкуренцию на рынке форумов.

У вас не достаточно прав на просмотр форума. smile:(
Ответить Родитель Ссылка 0
0
Долганин Антон
22.11.2009 14:05:10
Цитата
У вас не достаточно прав на просмотр форума.

А, это в группу надо вступить smile:)
http://dev.1c-bitrix.ru/community/webdev/group/15/

Довольно полезная группа, некая обратная связь Битрикса с нашим миром smile:D
Ответить Родитель Ссылка 0
0
Александр
22.11.2009 14:10:28
Спасибо, Антон.
Пока поизучаю.
Ответить Ссылка 0
0
pent@gon
23.01.2010 15:54:39
Приходилось переносить форум клиента с phpBB на Битрикс - точно помню, что пункты 1., 2. и некоторые другие были осуществлены в полностью автоматическом режиме... Но не об этом речь.
Теперь вот, через 3 года "успешного" фунциклирования клиент уходит с БУСа...

Существует ли скрипт-конвертер с форума Битрикса на IPB или vBulletin?
Ответить Ссылка 0
0
Долганин Антон
23.01.2010 18:06:58
Цитата
Существует ли скрипт-конвертер с форума Битрикса на IPB или vBulletin?

Не встречал.

А чем не устроил Битрикс, если не секрет?
Ответить Родитель Ссылка 0
0
pent@gon
24.01.2010 12:14:57
Значит, напишем smile:)

А вопрос не ко мне, но...
В общем, народ устал от ожидания улучшений. Тот же IPB - это же практически готовое, современное и красивое сообщество, а не архаичный придаток к бизнес-CMS.
Опять же, клиент (и я) устали при каждом обновлении форума тратить час-другой или даже день-второй на правку файлов нашей локализации, которая в БУСе отсутствует как данность, хотя обещана года два назад...
Ответить Родитель Ссылка 0
0
Долганин Антон
24.01.2010 18:23:33
Обратился один продвинутый посетитель моего сайта ко мне - мол, убери нафик этот битриксовский форум, поставь IPB, там много фишек.

Я ему ответил просто - скажи что тебе лично не хватает? Я сделаю.
Он не нашел что возразить.

PS: Вот таким вот как ваш заказчик я и посвятил свой новый пост smile:) (там допотопный phpBB 07-го года, который должен рыгать от зависти перед Битриксом)
Ответить Родитель Ссылка 0
0
Трембач Вячеслав
03.02.2010 14:20:33
Здравствуйте, Антон.

Воспользовались вашим скриптом, все нормально. Но посты не переносятся smile:(

Может быть были какие-то изменения в структуре битрикса? не могли бы вы проверить свой скрипт на последней версии битрикса?
Ответить Ссылка 0
0
Долганин Антон
03.02.2010 18:46:43
Здравствуйте.

Нет, насколько я помню тогдашнюю архитектуру и знаю сегодняшнюю - они не отличаются.

Проверять скрипт на работоспособность к сожалению я не могу по причине нехватки времени.
Ответить Родитель Ссылка 0
0
Прищепо Алексей
01.04.2010 23:49:14
Спасибо за скрипты! Всё классно, всё работает. НО получаю кракозябры в именах и топиках, короче, везде. Таблицы переконвертировал из utf8_bin в cp1251 (ALTER TABLE table CONVERT TO CHARACTER SET cp1251;), та же проблема. Ничего не понимаю. Помогите, пожалуйста.

UPD
Разобрался. Виноват был запрос mysql_query("SET NAMES 'UTF-8'"), подставил в него нужную кодировку и всё заработало.
Ответить Ссылка 0
0
Струков Дмитрий
30.08.2010 20:33:50
Самое главное забыли - перед этим всем сделать резервное копирование smile;)

Еще стоит отметить - таблицы b_gp_old_bb_topics и b_gp_old_bb_posts нужно создавать в БД Битрикса! Я сначала создал в БД форума...

Лично у меня почему-то скрипт ругался на бан-лист. После того как я поставил null - сработал. Важно заметить что здесь null - это строка "null", а не просто значение null

И в конце - ОГРОМНОЕ СПАСБО!!!
Ответить Ссылка 0
1
Струков Дмитрий
31.08.2010 02:33:03
Самое главное забыли - перед этим всем сделать резервное копирование smile;)

Еще стоит отметить - таблицы b_gp_old_bb_topics и b_gp_old_bb_posts нужно создавать в БД Битрикса! Я сначала создал в БД форума...

Лично у меня почему-то скрипт ругался на бан-лист. После того как я поставил TBL_BANLIST равное null - сработал. Важно заметить что здесь null - это строка "null", а не просто значение null

#Трембач Вячеслав - у меня сначала тоже посты не добавлялись. Просто в БД phpBB были разделены посты и тексты постов. На 157 строке forum.php нужно изменить запрос чтоб выбирал текст из таблицы phpbb_posts_text.

Так же трабл был с опубликованием - все сообщения добавлялись как неопубликованные: Почему-то в таблице phpbb_posts я не нашел свойства типа "опубликован ли топик". Поэтому в этом свойстве тупо поставил "Y"


И в конце - ОГРОМНОЕ СПАСБО!!!
Ответить Ссылка 1
0
Роман Казов
02.09.2010 17:44:39
При переносе топиков появилась проблема: Все посты создаются от имени последнего зарегестрированного пользователя.
Ответить Ссылка 0
0
Долганин Антон
02.09.2010 18:03:10
Скорее всего проблема в конкретной версии phpBB, так как скрипт переноса не менялся, и работал корректно несколько раз.

Но каждый раз его нужно допиливать и подтачивать под конкретную версию форума, учитывая ее модификации и прочее.

Именно поэтому данные скрипты не оформлены в виде мастера, они лишь знакомят разработчиками с принципами переноса и на что стоит обратить внимание.
Ответить Родитель Ссылка 0
0
Роман Казов
02.09.2010 18:22:51
Проблему вычислил, заключается она в том что не добавляются данные в поле UF_PHPBB_ID. Может быть поменялась система добавление пользователей самой битрикс ?
Ответить Родитель Ссылка 0
0
Долганин Антон
02.09.2010 18:46:43
Нет, таких кардинальных изменений в API быть не могло. Какого типа у вас поле UF_PHPBB_ID?
Ответить Родитель Ссылка 0
0
Струков Дмитрий
14.10.2010 02:42:49
Я, кстати, написал скрипт, который переносит группы форумов и форумы.

Как сюда его выложить - не знаю.

Кому нада - пишите мне Вконтакте (vkontakte.ru/beautycms). На форуме битрикса бываю раз в месяц....
Ответить Ссылка 0
0
Sergey Leshchenko
14.10.2010 05:04:23
Цитата
На форуме битрикса бываю раз в месяц....

- это вы прямо физически бываете на форуме битрикса и вам до него ездить далеко? А так если бы он был к вам поближе, то и заглядывали бы почаще?
Ответить Родитель Ссылка 0
0
Струков Дмитрий
15.10.2010 16:47:49
Да, физически. Я никак не битрикс программист. Просто приходиться тут форум один переносить.
Ответить Родитель Ссылка 0
0
Струков Дмитрий
15.10.2010 16:50:26
Еще хотелось бы сказать про кодировки:

Если Ваши базы в UTF, то не забудьте все str_replace переделать в mb_ereg_replace. Иначе запорятся все bb-коды.
Ответить Ссылка 0
0
Жуков Евгений
04.12.2010 02:14:54
Цитата
8. Теперь уберем баг в модуле форума Битрикса (на время, потом можете вернуть). Идем в /bitrix/modules/forum/classes/general/topic.php и ищем там метод добавления топика Add, коментим там
Код$arFields["VIEWS"] = 1;

Я не знаю зачем это сделал разработчик форума. Если это не сделать, то все топики создадутся с просмотром равным единице.

Поправка. Теперь надо комментить код
Код
$arFields["VIEWS"] = 0;
Ответить Ссылка 0
0
Вдовин Алексей
28.04.2011 10:17:46
вот это не совсем понял
"Самое страшное - это в таблицу (имя таблицы определяется в секции констант основного файла) нужно занести соответствие старых ID форумов и новых. Ее структура следующая: ID | OLD_ID | NEW_ID. ID - автоинкремент, остальные поля int'овые. Автоинкремент необязателен, просто для порядка."

в таблицу Битрикса ?
что за основной файл ?
Ответить Ссылка 0
0
Долганин Антон
28.04.2011 11:48:40
Исходя из ваших вопросов, вы не разработчик smile:) извините, мне сложно будет вам объяснить подробнее, чем написано. В статье дана скорее база материала по переносу, не сказала бы что подробно, да, но разработчику как подспорье скорее служит.

Основной файл - http://www.d-it.ru/phpbb/?f=forum.php 
Ответить Родитель Ссылка 0
0
Вдовин Алексей
28.04.2011 13:20:15
спасибо - дошло наконец то smile:)
Ответить Родитель Ссылка 0
0
Вдовин Алексей
28.04.2011 10:21:34
ещё момент - если у меня форум уже создан (на тестовой базе), скриптика по его очистке нема ?
Ответить Ссылка 0
0
Долганин Антон
28.04.2011 11:50:50
Не совсем понял вопрос, но похожих скриптов не припомню. Если речь про форум Битрикса, то может помочь переустановка модуля без сохранения данных.
Ответить Родитель Ссылка 0
0
Вдовин Алексей
28.04.2011 10:24:46
кстати - чтоб скрипт не прерывался, такая штука не помогает ?
set_time_limit(0);
ignore_user_abort();
Ответить Ссылка 0
0
Долганин Антон
28.04.2011 11:49:56
Если данное не отключено на хостинге, то работать будет, но скорее навредит, чем поможет. Так как браузер все равно коннект сбросит, и вы не увидите конца исполнения скрипта. Он будет работать в фоне, может работать часами, нагружая сервер, а то и вовсе уводя его в даун.
Ответить Родитель Ссылка 0
0
Вдовин Алексей
28.04.2011 12:54:02
в форумах Битриксе этого нема ?
user_timezone
user_dateformat

P.S. Спасибо за Ваши оперативные комментарии на мои не совсем умные вопросы smile:)

а скриптик по зачистке форума я на удивление шустро написал сам
(с битриском только знакомлюсь - пока очень доволен)
(если вдруг скриптик кому понадобится - код на блоге выложил)
Ответить Ссылка 0
0
Долганин Антон
28.04.2011 12:56:46
user_timezone пока нет (ни для пользователя, ни глобально), user_dateformat - для конкретного пользователя - тоже нет, но настраивается в компоненте форума общим форматом.
Ответить Родитель Ссылка 0
0
Вдовин Алексей
28.04.2011 13:43:52
ещё вопросик - а разве форумы через API Битрикса создать нельзя?

вытащить инфу из таблиц PHPBB_categories и PHPBB_forums и на основе этих данных создать форумы
Ответить Ссылка 0
0
Долганин Антон
28.04.2011 15:48:20
Можно конечно smile:) любой скрипт можно модернизировать вечно. И опыт приходит все больше со временем. Вот только времени пропорционально становится меньше.
Ответить Родитель Ссылка 0
0
Вдовин Алексей
29.04.2011 12:02:59
Цитата
Еще стоит отметить - таблицы b_gp_old_bb_topics и b_gp_old_bb_posts нужно создавать в БД Битрикса! Я сначала создал в БД форума...
Цитата
Если форум и сайт используют разные БД
то таблица соответствия форумов должна быть создана в БД форума !!!
а таблицы соответствия постов и топиков - в БД сайта !!!
смотрим код
коннектимся к БД форума
делаем проверочные селекты из табличек
TBL_WITH_FORUM_IDS
TBL_WITH_POSTS_IDS
смотрим дальше
$DB->Query("INSERT INTO ".TBL_WITH_TOPIC_IDS

получается что форумы и посты всё таки в БД форума, а топики в сайте  ?
Ответить Ссылка 0
0
Вдовин Алексей
29.04.2011 12:27:17
блин, там ниже
$DB->Query("INSERT INTO ".TBL_WITH_POSTS_IDS

похоже все правы - просто лишняя проверка в базе форума на TBL_WITH_POSTS_IDS
Ответить Ссылка 0
0
Вдовин Алексей
03.05.2011 10:45:41
можно ли каким нить образом один-в-один перетащить ID ?
чтоб, например, топики не по автоинкременту нумеровались, а такие же как в PHPBB
(тоже и по юзерам, и по форумам и по постам)
Ответить Ссылка 0
0
Долганин Антон
03.05.2011 11:32:27
В phpBB вроде тот же автоинкремент используется. Перенести можно, но в двух словах алгоритм и тонкости не опишешь. Да и прилично геморройно это, а плюсов не вижу.
Ответить Родитель Ссылка 0
0
Вдовин Алексей
13.05.2011 12:31:12
Итак - вроде как переехал !
Антон - спасибо за материал огромное !

кое-какие моменты у меня по-своему вышли - были подводные камни
кому интересны мои дополнения и модификации - мой опыт по переносу форума PHPBB на Bitrix
Ответить Ссылка 0
0
Вдовин Алексей
09.11.2011 07:50:54
Кому интересно - Перенос личных сообщений с phpbb на Битрикс форум
Ответить Ссылка 0

Добавить комментарий

Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».
 
Технологии Эрмитаж
BitrixMobile
Автокеширование
SiteUpdate
Производительность Виртуальная машина
Веб-окружение
Результаты тестов
Выбрать хостинг
Веб-кластер
Безопасность Проактивная защита
Веб-антивирус
Аутентификация

Контакты Поиск Карта сайта
Телефон: +7 (495) 229-14-41
Оставайтесь с нами: Facebook Twitter Habrahabr VKontakte Developers Google 1+
Как распознать QR код?Контакты QR


© 2001-2012 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом.
Английская версия Немецкая версия