bodia7
@bodia7
Начинающий веб-разработчик

Авторизация по e-mail?

Добрый день. На сайте предусмотрена авторизация с помощью модальных окон. Вход выполняется по e-mail и паролю. Подключил необходимые стандартные компоненты, настроил для них шаблоны. Но при заполнении полей модального окна и нажатии на "Войти" переходим на страницу авторизации по логину ../auth. Да, если ввести логин и пароль то авторизация работает. Подскажите пожалуйста как осуществлять вход непосредственно из модального окна по e-mail??? Авторизованый пользователь после корректного ввода данных должен войти сразу. В
  • Вопрос задан
  • 555 просмотров
Решения вопроса 1
bodia7
@bodia7 Автор вопроса
Начинающий веб-разработчик
AddEventHandler("main", "OnBeforeUserLogin", array("CCustomHookEvent", "DoBeforeUserLoginHandler"));
class CCustomHookEvent {
        //  Проверяем пришел ли email или login и если email авторизуем по нему
        function DoBeforeUserLoginHandler( &$arFields )
        {
            $userLogin = $_POST["USER_LOGIN"];
            if (isset($userLogin))
            {
                $isEmail = strpos($userLogin,"@");
                if ($isEmail>0)
                {
                    $arFilter = Array("EMAIL"=>$userLogin);
                    $rsUsers = CUser::GetList(($by="id"), ($order="desc"), $arFilter);
                    if($res = $rsUsers->Fetch())
                    {
                        if($res["EMAIL"]==$arFields["LOGIN"])
                            $arFields["LOGIN"] = $res["LOGIN"];
                    }
                }
            }
        }
        // End 
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@maxyc_webber
Web-программист
в чем проблема вставить компонент авторизации в модальное окно?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы