Регистрация пользователя в определенную группу сайта на Битрикс

Регистрация пользователя в определенную группу сайта на Битрикс
Данный форум не является официальным и не преследует ни каких целей. Владелец сайта оставляет за собой право удалять, перемещать и закрывать темы и посты по своему усмотрению. Рекламные темы и сообщения только с согласия администратора.

Вход Регистрация
Быстрый вход / регистрация, через социальную сеть
Регистрируясь на форуме, Вы безоговорочно принимаете условия политики конфеденциальности и обработки персональных данных
RSS
Регистрация пользователя в определенную группу сайта на Битрикс
 
Регистрация пользователя в определенную группу сайта на Битрикс

Достаточно часто требуется регистрировать пользователя в определенную группу, в зависимости от того какую форму регистрации прошел пользователь. Это достаточно легко проделать с помощью события OnAfterUserAddHandler.
 
добрый день.
а как сделать чтобы выбор группы зависел от выбора ее из списка?
пробовал так:
Код
<? 
AddEventHandler("main", "OnAfterUserAdd", "OnAfterUserAddHandler"); 
function OnAfterUserAddHandler(&$arFields) 
   { 
   if($arFields["ID"] > 0) 
      { 
      if(strlen($arFields["UF_BAZA"]) == 4)  
         { 
         $arGroups = CUser::GetUserGroup($arFields["ID"]); 
         $arGroups[] = 12; //То добаляем пользователя в группу c ID12 
         CUser::SetUserGroup($arFields["ID"], $arGroups); 
         } 
         elseif (strlen($arFields["UF_REG"]) == 5)
         {
         $arGroups = CUser::GetUserGroup($arFields["ID"]); 
         $arGroups[] = 13; //То добаляем пользователя в группу c ID13 
         CUser::SetUserGroup($arFields["ID"], $arGroups);
         }
         elseif (strlen($arFields["UF_REG"]) == 6)
         {
         $arGroups = CUser::GetUserGroup($arFields["ID"]); 
         $arGroups[] = 14; 
         CUser::SetUserGroup($arFields["ID"], $arGroups);
         }
      else
         { 
         $arGroups = CUser::GetUserGroup($arFields["ID"]); 
         $arGroups[] = 8; //Иначе в группу c ID8 
         CUser::SetUserGroup($arFields["ID"], $arGroups); 
         } 
      } 
   } 
?> 
 
не силен в программировании, поэтому не удивлюсь если в корне не правильно написал.
Но есть один момент. Ваш код при вставке его в файл init.php делает так, что перестает отображаться капча и нельзя сделать полное тестирование системы (может и еще что ...) Зато если вставлять вариант при многосайтовости, то такой проблемы не возникает.
помогите пожалуйста решить эти проблемы.
Читают тему (гостей: 1)