Поддержать видеоуроки



руб.





Xxxxxxxxx

ПОДРОБНЕЕ
ФАЙЛЫ ДЛЯ СКАЧИВАНИЯ
  • 29 Окт 2017
  • Автор: Роман Онищенко
  • Битрикс экзамен №2
  • 111
  • 0

Методика решения задания

  • OnBeforeEventAdd - Событие OnBeforeEventAdd вызывается в момент добавления почтового события в таблицу b_event. Как правило, задача обработчика данного события - изменить или добавить какое-либо значение, передаваемое в макросы почтового шаблона.
  • CEventLog::Add - Метод добавляет событие для записи в логе событий. Нестатический метод..

Регистрируем событие OnBeforeEventAdd в файле eventhandler.php , который мы подключили в файле init.php

AddEventHandler("main", "OnBeforeEventAdd", array("MyClass", "OnBeforeEventAddHandler"));
    

В файле eventhandler.php в классе MyClass добавляем метод OnBeforeEventAddHandler

function OnBeforeEventAddHandler(&$event, &$lid, &$arFields){
    if($event == 'FEEDBACK_FORM'){
        global $USER;
        if($USER->isAuthorized()){
            $arFields['AUTHOR'] = Loc::getMessage('AUTHORIZE_USER_1')."[".$USER->GetID()."] (".$USER->GetLogin().") ".$USER->GetFullName().
                Loc::getMessage('FORM_DATA').$arFields['AUTHOR'];
        }
        else{
            $arFields['AUTHOR'] = Loc::getMessage('NO_AUTHORIZE').$arFields['AUTHOR'];
        }
        CEventLog::Add(array(
            "SEVERITY" => "SECURITY ",
            "AUDIT_TYPE_ID" => Loc::getMessage('ZAMENA'),
            "MODULE_ID" => "main",
            "DESCRIPTION" => Loc::getMessage('ZAMENA').$arFields['AUTHOR'] ,
        ));
    }
}
    

Спасибо за внимание!
P.S. В описании мог что нибудь забыть,поэтому смотрите видео

Авторизация

×

Отправляя форму, я соглашаюсь на обработку персональных данных

Отправить