Доброго времени суток. Пытаюсь решить задачу на изменения макроса в почтовом событии при отправки с формы обратной связи. Если пользователь авторизован, то макрос получает «Пользователь авторизован: id (логин) имя, данные из формы: Имя пользователя». Если не авторизован: «Пользователь не авторизован, данные из формы: Имя пользователя»
Прописал в local\php_interface\includes\event_handlers.php код. Но все равно макрос не получает сообщений типа "Пользователь авторизован". Только данные имени, маила и текста сообщений. А в журнале событий вообще не появляется записи. Подскажите пожалуйста в чем ошибка?
Код |
---|
<?
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler("main", "OnBeforeEventAdd", function (&$event, &$lid, &$arFields) {
global $USER;
if ($event !== "FEEDBACK_FORM") {
return true;
}
if (!$USER->IsAuthorized()) {
$arFields["AUTHOR"] = "Пользователь не авторизован, данные из формы: {$arFields["AUTHOR"]}";
} else {
$arFields["AUTHOR"] = "Пользователь авторизован: {$USER->GetID()} ({$USER->GetLogin()}) {$USER->GetFullName()}, данные из формы: {$arFields["AUTHOR"]}";
}
CEventLog::Add([
"SEVERITY" => "INFO",
"AUDIT_TYPE_ID" => "MAIL_DATA_REPLACED",
"MODULE_ID" => "main",
"ITEM_ID" => $USER->GetID(),
"DESCRIPTION" => "Замена данных в отсылаемом письме – {$arFields["AUTHOR"]}"
]);
});
?> |