- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/classes/general/handlers.php
- Класс: CIntranetEventHandlers
- Вызов: CIntranetEventHandlers::OnAfterIBlockElementDelete
static function OnAfterIBlockElementDelete($arFields)
{
// news
if (
!array_key_exists("WF_STATUS_ID", $arFields)
|| $arFields["WF_STATUS_ID"] == 1
)
{
$dbIBlock = CIBlock::GetByID($arFields["IBLOCK_ID"]);
if($arIBlock = $dbIBlock->Fetch())
{
$rsSite = CIBlock::GetSite($arFields["IBLOCK_ID"]);
if ($arSite = $rsSite->Fetch())
$site_id = $arSite["SITE_ID"];
$val = COption::GetOptionString("intranet", "sonet_log_news_iblock", "", $site_id);
if ($val <> '')
{
$arIBCode = unserialize($val, ["allowed_classes" => false]);
if (!is_array($arIBCode) || count($arIBCode) <= 0)
$arIBCode = array();
}
else
$arIBCode = array();
if (
in_array($arIBlock["CODE"], $arIBCode)
&& CModule::IncludeModule("socialnetwork")
)
{
CSocNetAllowed::GetAllowedEntityTypes();
$dbRes = CSocNetLog::GetList(
array("ID" => "DESC"),
array(
"ENTITY_TYPE" => SONET_SUBSCRIBE_ENTITY_NEWS,
"EVENT_ID" => "news",
"SOURCE_ID" => $arFields["ID"]
),
false,
false,
array("ID")
);
while ($arRes = $dbRes->Fetch())
CSocNetLog::Delete($arRes["ID"]);
}
}
}
// --news
}