phpBB3 - Как динамически создавать группы и управлять ими?

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

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

В основном мне нужны следующие операции:

  • Возможность динамического создания группы
  • Возможность добавить пользователя в группу
  • Возможность установить групповые разрешения для форума

Все это должно быть динамичным, поскольку система должна быть автоматизирована и не должна управляться через ACP.

Если бы кто-нибудь мог указать мне правильное направление для них, это было бы здорово.


Решено – 03.13.2012

Вот решение, которое я придумал, используя group_create() из includes/functions_user.php.

$group_id = FALSE; // can be 0 as well
$group_type = GROUP_HIDDEN;
$group_name = "Tom's Group";
$group_desc = "Users from Tom's Group";

// just leave these as defaults
$group_attributes = array(
    //'group_colour' => 0,
    //'group_rank' => 0, 
    //'group_avatar' => 0, 
    //'group_avatar_type' => 0,
    //'group_avatar_width' => 0,
    //'group_avatar_height' => 0,
    'group_legend' => 0,
);

$allow_desc_bbcode = TRUE;
$allow_desc_urls = TRUE;
$allow_desc_smilies = TRUE;

$response = group_create($group_id, $group_type, $group_name, $group_desc, $group_attributes, $allow_desc_bbcode, $allow_desc_urls, $allow_desc_smilies);

Обратите внимание, что если вы установите $group_id в качестве существующей группы в своей базе данных, она изменит эту группу. Я также установил group_legend как 0, потому что я не хочу, чтобы скрытые группы были видны на форуме.


person diggersworld    schedule 08.03.2012    source источник


Ответы (1)


Там есть раздел под названием area51.phpbb. Есть трекер ошибок, обсуждения и документы по разработке phpBB.

Вот что я нашел, что связано с добавлением/редактированием групп.

http://area51.phpbb.com/docs/code/30x/phpbb3/package-functions.html#group_create%28%29

Согласно ему, функция group_create находится в:

include/functions_user.php в строке 2442

Ознакомьтесь также со следующими ссылками:

http://wiki.phpbb.com/Main_Page

http://area51.phpbb.com/phpBB/

person Ofir Baruch    schedule 08.03.2012
comment
После перехода по ссылке удалите %20 перед https и вместо %28%29 в конце напишите () - person Ofir Baruch; 08.03.2012
comment
Ура, это сработало ... Я написал более описательное решение, чтобы ответить на вопрос. - person diggersworld; 13.03.2012