• Модуль: 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
}