OnBeforeUserRegister
Описание и параметры
bool функция-обработчик( array &arArgs );Событие "OnBeforeUserRegister" вызывается до попытки регистрации нового пользователя методом CUser::Register и может быть использовано для прекращения процесса регистрации или переопределения некоторых полей.
Примечание: функция будет вызываться также при подтверждении регистрации (событие OnBeforeUserUpdate), где ключа LOGIN нет.
Параметры
| Параметр | Описание |
|---|---|
| arArgs | Массив полей регистрации нового пользователя:
|
Примечание. Массив значений данного обработчика является ссылкой на исходные переменные. Поэтому при изменении значения параметра или добавлении нового поля в массив внутри обработчика приведет к смене значения исходной переменной поступившей на вход функции-обработчика.
Это позволяет, например, добавить в массив arArgs дополнительные регистрационные поля нового пользователя или поля для почтового события NEW_USER.
if ( isset($args['LOGIN']) && ! preg_match("/^[-a-zA-Z0-9_]+$/", $args['LOGIN']) )
Возвращаемое значение
Для отмены авторизации пользователя и прекращении выполнения метода CUser::Register необходимо в функции-обработчике создать исключение методомСмотрите также
Примеры
Пример функции-обработчика:
<?
// файл /bitrix/modules/my_module_id/include.php
class MyClass
{
// создаем обработчик события "OnBeforeUserRegister"
public static function OnBeforeUserRegisterHandler(&$arFields)
{
// если пользователь пришел по рекламной кампании #34, то
if ($_SESSION["SESS_LAST_ADV_ID"]==34)
{
// добавляем его в группу #3
$arFields["GROUP_ID"][] = 3;
// добавим административный комментарий
if (intval($_SESSION["SESS_ADV_ID"])>0)
$arFields["ADMIN_NOTES"] = "Рекламная кампания #34 - прямой заход";
else
$arFields["ADMIN_NOTES"] = "Рекламная кампания #34 - возврат";
$arFields["SITE_ID"] = "ru";
}
}
}
?>
Пример регистрации функции-обработчика:
<?
// регистрируем обработчик события "OnBeforeUserRegister"
RegisterModuleDependences("main", "OnBeforeUserRegister", "my_module_id", "MyClass", "OnBeforeUserRegisterHandler");
?>
© «Битрикс», 2001-2025, «1С-Битрикс», 2025