• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/iblock_event_list.php
  • Класс: CEventIBlock
  • Вызов: CEventIBlock::GetEventInfo
static function GetEventInfo($row, $arParams, $arUser, $arResult)
{
	$DESCRIPTION = unserialize($row['DESCRIPTION'], ['allowed_classes' => false]);

	$IblockURL = "";
	if (mb_strpos($row['AUDIT_TYPE_ID'], "SECTION") !== false)
	{
		if (isset($DESCRIPTION["ID"]))
		{
			$rsSection = CIBlockSection::GetList(array(), array("=ID"=>$DESCRIPTION["ID"]), false,  array("SECTION_PAGE_URL"));
			if ($arSection = $rsSection->GetNext())
				$IblockURL = $arSection["SECTION_PAGE_URL"];
		}
	}
	elseif (mb_strpos($row['AUDIT_TYPE_ID'], "ELEMENT") !== false)
	{
		if (isset($DESCRIPTION["ID"]))
		{
			$rsElement = CIBlockElement::GetList(array(), array("=ID"=>$DESCRIPTION["ID"]), false, false, array("DETAIL_PAGE_URL"));
			if ($arElement = $rsElement->GetNext())
				$IblockURL = $arElement["DETAIL_PAGE_URL"];
		}
	}
	else
	{
		$rsElement = CIBlock::GetList(array(), array("=ID"=>$row["ITEM_ID"]), false);
		if ($arElement = $rsElement->GetNext())
			$IblockURL = SITE_DIR."bitrix/admin/iblock_edit.php?ID=".$row["ITEM_ID"]."&type=".$arElement["IBLOCK_TYPE_ID"];
	}

	if($IblockURL)
	{
		$IblockURL = str_replace(
			"#USER_ID#",
			urlencode($DESCRIPTION["USER_ID"]),
			$IblockURL
		);
	}


	if (isset($DESCRIPTION["IBLOCK_PAGE_URL"]))
	{
		$DescriptionURL = str_replace(
			"#USER_ID#",
			urlencode($DESCRIPTION["USER_ID"]),
			$DESCRIPTION["IBLOCK_PAGE_URL"]
		);
		$resIblock = ''.$arResult[$row['ITEM_ID']].'';
	}
	else
	{
		$resIblock = $arResult[$row['ITEM_ID']];
	}

	switch($row['AUDIT_TYPE_ID'])
	{
		case "IBLOCK_SECTION_ADD":
			$EventPrint = GetMessage("LOG_IBLOCK_ITEM_ADD", array("#ITEM#" => $DESCRIPTION['SECTION_NAME']));
			break;
		case "IBLOCK_SECTION_EDIT":
			$EventPrint = GetMessage("LOG_IBLOCK_ITEM_EDIT", array("#ITEM#" => $DESCRIPTION['SECTION_NAME']));
			break;
		case "IBLOCK_SECTION_DELETE":
			$EventPrint = GetMessage("LOG_IBLOCK_ITEM_DELETE", array("#ITEM#" => $DESCRIPTION['SECTION_NAME']));
			break;
		case "IBLOCK_ELEMENT_ADD":
			$EventPrint = GetMessage("LOG_IBLOCK_ITEM_ADD", array("#ITEM#" => $DESCRIPTION['ELEMENT_NAME']));
			break;
		case "IBLOCK_ELEMENT_EDIT":
			$EventPrint = GetMessage("LOG_IBLOCK_ITEM_EDIT", array("#ITEM#" => $DESCRIPTION['ELEMENT_NAME']));
			break;
		case "IBLOCK_ELEMENT_DELETE":
			$EventPrint = GetMessage("LOG_IBLOCK_ITEM_DELETE", array("#ITEM#" => $DESCRIPTION['ELEMENT_NAME']));
			break;
		case "IBLOCK_ADD":
			$EventPrint = GetMessage("LOG_IBLOCK_ITEM_ADD", array("#ITEM#" => GetMessage("LOG_IBLOCK")));
			break;
		case "IBLOCK_EDIT":
			$EventPrint = GetMessage("LOG_IBLOCK_ITEM_EDIT", array("#ITEM#" => GetMessage("LOG_IBLOCK")));
			break;
		case "IBLOCK_DELETE":
			$EventPrint = GetMessage("LOG_IBLOCK_ITEM_DELETE", array("#ITEM#" => GetMessage("LOG_IBLOCK")));
			break;
		default:
			$EventPrint = "";
			break;
	}

	return array(
		"eventType" => $EventPrint,
		"eventName" => $DESCRIPTION['NAME'],
		"eventURL" => $IblockURL,
		"pageURL" => $resIblock
	);
}