Добавление пользователей на форум phpBB3

Часто форум используется не как отдельный ресурс, а в связке с сайтом. При этом, если на сайте есть своя система пользователей, то разумно будет объединить регистрацию и авторизацию пользователей на сайте и на форуме. Поэтому сегодня я хочу показать пример скрипта, который будет добавлять пользователей на форум. Вы можете использовать данный скрипт на сайте, либо дублирую пользователей сайта на форуме, либо полностью переместив пользователей на форум.

Итак, сразу приведу готовый вариант кода, а затем объясню основные его части более подробно.

Первым делом нужно задать константу IN_PHPBB — без неё скрипт просто прекратит выполнение. Затем указывается папка с форумом. В моём случае форум был в папке forum, а скрипт располагался в корне сайта, то бишь на один уровень выше. Переменная $phpEx содержит расширение файлов скриптов, почти всегда это php, поэтому данную строку менять не надо.

Определив все константы, подключаем необходимые нам файлы. В common.php содержатся почти все основные параметры, нужные phpBB для работы, поэтому его подключаем в первую очередь. Вообще при написании каких-либо дополнений для phpBB обязательно подключайте этот файл, без него никак. Затем нам понадобится файл, содержащий набор функций для работы с пользователями — это functions_user.php из папки includes.

Теперь всё готово к работе и мы можем добавить пользователя на форум. Для этого нужно указать логин пользователя, пароль и почту. В примере в качестве логина используется test_user, в качестве пароля forumadmins.ru, а в качестве почты mail@example.com. При использовании для собственных нужд подставляйте туда нужные вам данные, например полученные от формы регистрации на сайте. Ещё два параметра, которые я не упомянул, это group_id и user_type, их значение постоянное. Группа под номером 2 соответствует группе «Зарегистрированные пользователи», а тип пользователя 0 — активированному пользователю. В завершении вызываем функцию user_add и передаём ей в качестве аргумента массив с вышеперечисленными данными пользователя. Всё, новый пользователь появился на форуме, может логиниться и писать сообщения.

Уточню на всякий случай, почему нельзя добавлять пользователя напрямую через базу данных. Дело в сложной системе прав доступа и групп пользователей на форуме. Если добавить пользователя напрямую в таблицу phpbb_users, то у него не будет ни прав доступа, ни назначенных групп. Встроенная функция в phpBB для добавления пользователей учитывает всё это, поэтому при таком способе никаких проблем не будет.

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.