Bitrix — обработчики регистрации пользователя (events)
Примеры OnBeforeUserRegister и OnAfterUserAdd: валидация и пост-обработка.
use Bitrix\Main\EventManager;
// /bitrix/php_interface/init.php
EventManager::getInstance()->addEventHandler('main', 'OnBeforeUserRegister', function(&$fields) {
if (!check_email($fields['EMAIL'])) {
global $APPLICATION;
$APPLICATION->ThrowException('Некорректный email');
return false;
}
// автогенерация логина при пустом
if (empty($fields['LOGIN'])) {
$fields['LOGIN'] = substr($fields['EMAIL'], 0, strpos($fields['EMAIL'], '@'));
}
return true;
});
EventManager::getInstance()->addEventHandler('main', 'OnAfterUserAdd', function(&$fields) {
// $fields['ID'] — новый пользователь
// здесь можно отправить уведомление/добавить в группы и т.п.
});