ФЗ-152, «Пользовательское соглашение на обработку персональных данных» в форме восстановления пароля

В процессе добавления галочек "Пользовательского соглашения..." во все формы на сайте, столкнулся с некоторой особенностью формы восстановления пароля.
Учитывая неопределённость законодательства, решил добавить галочку и в эту форму, поскольку пользователь отправляет в ней свой e-mail, а в данном проекте ещё и телефон.
Особенность заключалась в том, что даже переместив компонент system.auth.forgotpasswd в свой неймспейс добраться до самой отправки письма с контрольной строчкой нельзя. В компоненте этого ничего нет.
Соответственно и запретить отправку данных, если в форме не отмечена галочка компонент тоже никак не позволяет.
Решением было сделать свой обработчик на событие OnBeforeUserSendPassword - он вызывается как раз перед отправкой письма восстановления
Далее в нём достаточно проверить, передана ли галочка и вызвать исключение, если не передана с соответствующим сообщением.
Примерный код обработчика:
====code====

function OnBeforeUserSendPassword(&$arFields) {

    //Проверяем, установлена ли галочка на чекбоксе согласия
    if ((!isset($_POST["accept_agreement"])) || ($_POST["accept_agreement"] != 1)) {
        global $APPLICATION;
        $APPLICATION->throwException("Подтвердите согласие с "Пользовательским соглашением об обработке персональных данных"");
        return false;
    }

}
=============

Автор : bi3ks

5 способов быстрее научиться программировать / Типичный программист

Изучение программирования — не то, чем можно заниматься между делом. Но и не нужно тратить всю жизнь, чтобы понять основы. Есть множество способов облегчить себе обучение. Нередко бывает, что новички начинают учиться, зная что-то о программировании. Они идут очень хорошо в первые недели и заваливаются потом на протяжении обучения. Почему? … Continue reading

Автор : bi3ks

Перенос цены на товар из свойства инфоблока

Ситуация: цена на товар импортирована в свойство инфоблока, необходимо ее перенести в Цену торгового коталога. Простой скрипт представлен ниже:

Автор : bi3ks

Как закрыть только один из сайтов для посещения пользователей

В настройках системы есть возможность закрыть сайт для публичного посещения, например, на время каких-либо технических работ. Это делается на странице настроек главного модуля (Настройки > Настройки продукта > Настройки модулей > Главный модуль):

Автор : bi3ks
Теги : памятка

Добавить номер страницы в заголовке в постраничной навигации

Мелочь, но порой спрашивают «как сделать, чтобы номер страницы отражался в заголовке». Понятно, чтобы это было универсально и в одном месте на весь проект. Вот код обработчика.

Автор : bi3ks

Получить путь к файлу изображения Битрикс по ID

Чтобы получить и вывести путь к файлу изображения битрикс по id необходимо воспользоваться следующим кодом: $Image = CFile::GetPath($arResult["PROPERTIES"]["PHOTO"]["VALUE"]); echo $Image;

Автор : bi3ks
1 2 3
Страница 1 из 3