Есть задача: после регистрации пользователь должен полноценно пользоваться сайтом, но в течении какогото времени, после чего он деактивируется(удаление не подходит т.к. он может осуществить покупку). Если он подтвердит по email-у тогда конечно он может пользоваться сайтом без ограничений времени.
Попытался сделать следующим образом - выставил опцию "Запрашивать подтверждение регистрации по E-mail". И перехватываю событие OnBeforeUserRegister, где ставлю $arFields["ACTIVE"] = 'Y'. После чего пользователь становится зарегистрированным и в его профиле есть CONFIRM_CODE. Дальше всё просто - делаю агент который деактивирует пользователя, у которого есть CONFIRM_CODE и дата регистрации больше определенного времени.
Но есть проблема с подтверждением - когда пользователь переходит по ссылки из письма - то видит надпись "Регистрация пользователя уже подтверждена." Это не то развитие событий, которое необходимо. В коде компонента подтверждения проверяется только устанолен ли $arFields["ACTIVE"] в значение Y и никак не затрагивает CONFIRM_CODE, который в свою очередь должен быть удален после этой операции.
Теперь вопрос - как сделать правильно подтверждение? Где можно перехватить выполнение компонента system.auth.confirmation который использует ядро битрикса?
Спасибо.
Попытался сделать следующим образом - выставил опцию "Запрашивать подтверждение регистрации по E-mail". И перехватываю событие OnBeforeUserRegister, где ставлю $arFields["ACTIVE"] = 'Y'. После чего пользователь становится зарегистрированным и в его профиле есть CONFIRM_CODE. Дальше всё просто - делаю агент который деактивирует пользователя, у которого есть CONFIRM_CODE и дата регистрации больше определенного времени.
Но есть проблема с подтверждением - когда пользователь переходит по ссылки из письма - то видит надпись "Регистрация пользователя уже подтверждена." Это не то развитие событий, которое необходимо. В коде компонента подтверждения проверяется только устанолен ли $arFields["ACTIVE"] в значение Y и никак не затрагивает CONFIRM_CODE, который в свою очередь должен быть удален после этой операции.
Теперь вопрос - как сделать правильно подтверждение? Где можно перехватить выполнение компонента system.auth.confirmation который использует ядро битрикса?
Спасибо.