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"); ?>
Сообщение не промодерировано, возможны ошибки и неточности.
|
||
Если вы зарегистрировали функцию-обработчик в классе, а ней вызываете методы вашего класса и в них пытаетесь выкинуть исключение, как тут написано "$APPLICATION->
| ||
Михаил Микулин
|
||
| ||
Николай Гнусов
|
||
Делаем возможность регистрации поля Логин только латинскими буквами и цифрами.
Теперь пользователи могут регистрировать только логин, состоящий из латинских букв, цифр, знаков "-" и "_" | ||
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.