Заказчиком поставлена задача отлавливать момент активации аккаунта пользователя администратором и отправлять ему уведомление по почте.
Если открыть пользователя, поставить галочку "Активность" и нажать "Сохранить" - всё ок. Если выбрать пользователя в списке и выбрать действие "активировать" - событие не приходит.
Причина в том, что событие формируется не в CUser::Update а где-то ещё. В то же время обработчики в /bitrix/modules/main/admin/user_admin.php вызывают CUser::Update напрямую.
Баг?
Код |
---|
AddEventHandler("main", "OnBeforeUserUpdate", "UserActivateNotify"); function UserActivateNotify(array &$updated){ $old = CUser::GetByID($updated["ID"])->Fetch(); if ($old["ACTIVE"] !== "Y" && $updated["ACTIVE"] === "Y") { CEvent::Send("USER_ACTIVATION", $GLOBALS["LID"], $updated); } } |
Причина в том, что событие формируется не в CUser::Update а где-то ещё. В то же время обработчики в /bitrix/modules/main/admin/user_admin.php вызывают CUser::Update напрямую.
Баг?