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

	$IblockURL = '';
	if (isset($DESCRIPTION['URL']) && !empty($DESCRIPTION['URL']))
		$IblockURL = $DESCRIPTION['URL'];

	if(mb_strpos($row['AUDIT_TYPE_ID'], "SECTION"))
	{
		if(empty($IblockURL) && isset($DESCRIPTION["ID"]))
		{
			$rsElement = CIBlockSection::GetList(array(), array("=ID" => $DESCRIPTION["ID"]), false, array("SECTION_PAGE_URL"));
			if($arElement = $rsElement->GetNext())
			{
				$IblockURL = $arElement["SECTION_PAGE_URL"];
			}
		}
		switch($row['AUDIT_TYPE_ID'])
		{
			case "WEBDAV_SECTION_ADD":
				$EventPrint = GetMessage("LOG_WEBDAV_SECTION_ADD");
				break;
			case "WEBDAV_SECTION_DELETE":
				$EventPrint = GetMessage("LOG_WEBDAV_SECTION_DELETE");
				break;
			case "WEBDAV_SECTION_TRASH":
				$EventPrint = GetMessage("LOG_WEBDAV_SECTION_TRASH");
				break;
			case "WEBDAV_SECTION_RESTORE":
				$EventPrint = GetMessage("LOG_WEBDAV_SECTION_RESTORE");
				break;
			case "WEBDAV_SECTION_MOVE":
				$EventPrint = GetMessage("LOG_WEBDAV_SECTION_MOVE", array("#MOVE_TO#" => $DESCRIPTION['MOVE_TO']));
				break;
			case "WEBDAV_SECTION_RENAME":
				$EventPrint = GetMessage("LOG_WEBDAV_SECTION_RENAME", array("#NAME_BEFORE#" => $DESCRIPTION['NAME_BEFORE']));
				break;
		}
	}
	else
	{
// elements
		if(empty($IblockURL) && 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"];
			}
		}
		switch($row['AUDIT_TYPE_ID'])
		{
			case "WEBDAV_ELEMENT_ADD":
				$EventPrint = GetMessage("LOG_WEBDAV_ELEMENT_ADD");
				break;
			case "WEBDAV_ELEMENT_DELETE":
				$EventPrint = GetMessage("LOG_WEBDAV_ELEMENT_DELETE");
				break;
			case "WEBDAV_ELEMENT_TRASH":
				$EventPrint = GetMessage("LOG_WEBDAV_ELEMENT_TRASH");
				break;;
			case "WEBDAV_ELEMENT_RESTORE":
				$EventPrint = GetMessage("LOG_WEBDAV_ELEMENT_RESTORE");
				break;
			case "WEBDAV_ELEMENT_MOVE":
				$EventPrint = GetMessage("LOG_WEBDAV_ELEMENT_MOVE", array("#MOVE_TO#" => $DESCRIPTION['MOVE_TO']));
				break;
			case "WEBDAV_ELEMENT_RENAME":
				$EventPrint = GetMessage("LOG_WEBDAV_ELEMENT_RENAME", array("#NAME_BEFORE#" => $DESCRIPTION['NAME_BEFORE']));
				break;
			case "WEBDAV_ELEMENT_UPDATE":
				$EventPrint = GetMessage("LOG_WEBDAV_ELEMENT_UPDATE");
				break;
		}
	}

	// iblock path		
	if (isset($DESCRIPTION["IBLOCK_PAGE_URL"]))
		$resIblock = "".$DESCRIPTION['IBLOCK_NAME']." (".$row["SITE_ID"].")";
	else
		$resIblock = $DESCRIPTION['IBLOCK_NAME'];

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