Пользователям дана возможность публикации материалов. Для предотвращения бардака на сайте предусмотрена премодерация всех публикаций. Добавление элемента осуществляется с отключением его активности. Модератор должен просмотреть публикацию, исправить ее при необходимости, и включить активность, чтобы публикация появилась на сайте.
Думаю, это всем знакомая ситуация. Для удобства работы заказчик попросил, чтобы ему приходили на почту уведомления о новых публикациях, что и было реализовано.
Проблема в следующем: если материал публикуется без премодерации (с включенной активностью), то оповещение успешно производится, если с модерацией (с выключенной активностью) - нет.
За отправку сообщения отвечает следующий код (init.php):
AddEventHandler("iblock", "OnAfterIBlockElementAdd", Array("MyClass", "OnAfterIBlockElementAddHandler"));
Код |
---|
class MyClass
{
function OnAfterIBlockElementAddHandler(&$arFields)
{
if ($arFields["IBLOCK_ID"] == 6)
{
$arIBlockElement = GetIBlockElement($arFields["ID"]);
$arSend = array('USER_NAME' => $arIBlockElement['PROPERTIES']['CODE_USER']['VALUE'],'ID' => $arFields["ID"]);
CEvent::Send('COMMENT_ADDED',SITE_ID,$arSend);
}
}
} |
Подскажите, пожалуйста, если кто уже сталкивался с подобной проблемой, как грамотно найти выход из сложившейся ситуации. Не хотелось бы отказаться или от премодерации, или от оповещений.