Может пригодится кому.
[CODE]//при добавлении сообщения форума, если количество сообщений больше FLS_NUM_POSTS,
//то припишем пользователя к специальной группе
define("FLS_NUM_POSTS", 50);
define("FLS_FORUM_GROUP", 27);
AddEventHandler("forum", "onAfterMessageAdd", "FlsOnForumMessageAdd");
function FlsOnForumMessageAdd($ID, $arFields)
{
$arGroups = CUser::GetUserGroup($arFields["AUTHOR_ID"]);
if(!in_array(FLS_FORUM_GROUP, $arGroups))
{
$arProfile = CForumUser::GetByUSER_ID($arFields["AUTHOR_ID"]);
if(intval($arProfile["NUM_POSTS"]) >= FLS_NUM_POSTS-1)
{
//добавим в группу
$arGroups[] = FLS_FORUM_GROUP;
//запишем новую группу
CUser::SetUserGroup($arFields["AUTHOR_ID"], $arGroups);
//обновим сессию текущему пользователю
if($GLOBALS["USER"]->GetID() == $arFields["AUTHOR_ID"])
CUser::SetUserGroupArray($arGroups);
}
}
}
[/CODE]
[CODE]//при добавлении сообщения форума, если количество сообщений больше FLS_NUM_POSTS,
//то припишем пользователя к специальной группе
define("FLS_NUM_POSTS", 50);
define("FLS_FORUM_GROUP", 27);
AddEventHandler("forum", "onAfterMessageAdd", "FlsOnForumMessageAdd");
function FlsOnForumMessageAdd($ID, $arFields)
{
$arGroups = CUser::GetUserGroup($arFields["AUTHOR_ID"]);
if(!in_array(FLS_FORUM_GROUP, $arGroups))
{
$arProfile = CForumUser::GetByUSER_ID($arFields["AUTHOR_ID"]);
if(intval($arProfile["NUM_POSTS"]) >= FLS_NUM_POSTS-1)
{
//добавим в группу
$arGroups[] = FLS_FORUM_GROUP;
//запишем новую группу
CUser::SetUserGroup($arFields["AUTHOR_ID"], $arGroups);
//обновим сессию текущему пользователю
if($GLOBALS["USER"]->GetID() == $arFields["AUTHOR_ID"])
CUser::SetUserGroupArray($arGroups);
}
}
}
[/CODE]