Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Отправка определенного сообщения пользователю,если он вступил в группу.

00 голосов
4
Добрый день,помогите пожалуйста начинающему,есть такая ситуация,Требуется отправлять сообщение пользователю,если его в админ панели поместили в определенную группу...

вот AddEventHandler("main", "OnBeforeUserUpdate", Array("Sendler", "OnBeforeUserUpdateHandler"));

class Sendler
{
// создаем обработчик события "OnBeforeUserUpdate"
function OnBeforeUserUpdateHandler(&$arFields)
{
// получим массив групп текущего пользователя
global $USER;
$arGroups = $USER->GetUserGroupArray();
if()




}
}
а дальше застопорился,не могу понять как нужно сравнить список групп с GROUP_ID
и как применить отправку сообщения,подскажите пожалуйста..был бы очень благодарен
спросил 08 Янв, 14 от Zorc (100 баллов)

4 Ответы

00 голосов
1. Отправка сообщения:
Код
            $arEventFields = array(
                    "name"  => $name,
            );
            CEvent::Send("NEW_USER", "s1", $arEventFields, "Y", "34");

Где "NEW_USER" - тип почтового сообщения - можете воспользоваться уже имеющимимся, можете создать свой
"34" - id почтового сообщения - этот точно руками создавать
$arEventFields - массив передоваемых параметров с тело письма. Туда что угодно можно отправить - хоть из профиля пользователя выдарть его почтовый ящик при регистрации - и передать его одним из знач. в массиве в шаблон письма а там подставить в поле для отправки.

2. Проверка на принадлежность группе пользователей:
Код
global $USER;
   if ($USER->IsAuthorized()){
     $arGroups = CUser::GetUserGroup($USER->GetID());
      $i = 0;
      while ($i <= count($arGroups)) {
        if ($arGroups[$i]==7){ //
 // вот тут мы получили подтверждение принадлежности пользователя группе и можем отправить ему письмо
        break;
        }//if
      }//while
   }//if

Это один из вариантов. можно и проще. группы пользователя записать в массив, а далее сделать проверку на наличие значение в массиве.
ответил 19 Апр, 14 от Grimmi (2,560 баллов)
00 голосов
спасибо,вроде более менее понятно
а вот тут ($arGroups[$i]==7) почемуименно значение 7,что оно означает?
ответил 12 Авг, 14 от Zorc (100 баллов)
00 голосов
это у меня проверка на принадлежность пользователя группе с id = 7 было
ответил 17 Дек, 14 от Grimmi (2,560 баллов)
00 голосов
а мне получается там придется писать ["GROUP_ID"]
ответил 07 Апр, 15 от Zorc (100 баллов)

Похожие вопросы