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