Делая свой проект, точнее уже доделывая его, столкнулся с жесткой необходимостью в форуме. Т.к. встроенный будет пока не понятно когда решил заняться интеграцией. Платные форумы сразу отпали, ибо денег платить нет ) Поэтому первым же делом обратил внимание на phpBB. К счастью в третьей его версии предусмотрена возможность интеграции и даже google нашел практически готовое решение. Немного рук и интеграция для InstantCMS готова.
Инстралляция:
1. Ставим phpBB.
2. Качаем файлик в приложении и кладем его в где_установлен_форум\includes\auth
3. В админке форума конфигурация->регистрация_пользователей отключаем регистрацию.
4. В админке форума средства связи->аутентификация ставим Simple
Собственно все! При первом же заходе на форум, пользователь автоматически регистрируется.
Учитывая специфику инстанта допилил следующее:
1. Т.к. для регистрации по идее нужен пароль, плюс пользователь в инстанте может поменять пароль, а получить я могу только хешированный, то сделал так, что бы при повторной авторизации пароль автоматически ставился таким же как и в инстанте. Почему по идее он нужен? Потому что авторизация происходит вне зависимости от того какой пароль в phpBB. Т.е. как бы он и не нужен, но вдруг вы захотите таки разъединить форум и инстант. Тогда пользователю совсем не помешает знать свой пароль ) Ну и вообще "а вдруг?" )))
2. Т.к. инстант позволяет менять никнейм, а phpBB привязан к никам, то сделал так, что при каждой авторизации проверяется не только соответствие паролей, но и ников. Если ник в инстанте поменялся, он меняется и в phpBB. К счастью, в инстанте email менять нельзя, как я понял, поэтому соответствие проверяется по email. Я это к тому, что сейчас получается в phpBB нельзя на один email зарегистрировать несколько ников.
Хочу отметить:
1. Лично мне на данный момент хватает интеграции по пользователям. Т.е. в плане авотарок или еще чего интеграции нет, да и не вижу в этом смысла.
2. Еще раз — переносить базу пользователей полностью необходимости нет! Все на автомате. Т.е. пользователь заходит, если он не зарегистрирован в phpBB, значит он на автомате будет зарегистрирован.
3. Свой сайт все еще делаю на локале. Поэтому скрипт тестировал только я. Так что на ваш страх и риск. Но если будут баги, пишите, покумекаем над решением. Собственно, прежде всего для отслеживания багов это решение сюда и выкладываю.
4. Еще раз — исходный скрипт брал тут. По настройкам phpBB для его работы лучше сюда. Обоим авторам спасибо!
ГЫ: да и решил, что платить за форум, а потом еще гомороиться… влом ) Поэтому и отказался от платных форумов.
Было бы круто )
было бы круто личный профиль объединить — сейчас их получается два для каждого пользователя, две системы уведомлений — это явно не удобно со стороны пользователя(Было бы круто )
Но решение однозначно полезное — форум на городских и тематических порталах нужен как воздух…
А все-таки, как на счет аватарок и рейтинга?
По моему опыту пользователи предпочитают разделять форум и сайт. Поэтому смысла для себя заморачиваться не вижу. Возникнет необходимость задумаюсь, пока ее нет.
было бы круто личный профиль объединить — сейчас их получается два для каждого пользователя, две системы уведомлений — это явно не удобно со стороны пользователя
Ну тут скорее зависит от специфики сайта, но в общем и целом конечно же предпочтительней полная интеграция, но ее разработка и поддержка займет время, его сейчас нет на это.
В итоге, качаем файлик и кладем его в корень форума. Настройка простая: во время редактирования ставим DELETE_CACHE в true, по окончании в false. Усе )
ВАЖНО!
Не забыть поставить false после окончания редактирования шаблона! Оно конечно не смертельно, но замедлит работу форума.
И мне странно, что ни кто не развивает идею интеграции инстанта с уже готовыми движками форумов. Взять например кмс слаед. Там уже давно в админке эта интеграция вшита.
Спасибо большое автору за его труд!
У меня возникла необходимость интегрировать phpBB 3.1.9 с InstantCMS 2.5.1 (последние версии на сегодня),
скрипт выше как известно не работает, т.к. у phpBB появились некоторые изменения.
Поэтому скрипт автора темы был взят за основу и доработан для новой версии phpBB.
Файлом auth.yml из архива нужно перезаписать существующий в \<папка форума>\config\,
а файл db2.php скопировать в <папка форума>\phpbb\auth\provider\.
Далее аналогично выключить регистрацию, а в методах авторизации выбрать Db2.
В InstantCMS, как я понял, необходимо авторизовываться с чекбоксом "Запомнить", чтобы создалась необходимая кука и всё работало.