• Модуль: lists
  • Путь к файлу: ~/bitrix/modules/lists/classes/general/lists.php
  • Класс: CLists
  • Вызов: CLists::OnAfterIBlockElementDelete
static function OnAfterIBlockElementDelete($fields)
{
	if (CModule::includeModule('bizproc'))
	{
		$errors = array();

		$iblockType = COption::getOptionString("lists", "livefeed_iblock_type_id");

		$iblockQuery = CIBlock::getList(array(), array('ID' => $fields['IBLOCK_ID']));
		if($iblock = $iblockQuery->fetch())
		{
			$iblockType = $iblock["IBLOCK_TYPE_ID"];
		}

		$states = CBPStateService::getDocumentStates(BizprocDocument::getDocumentComplexId($iblockType, $fields['ID']));
		$listWorkflowId = array();
		foreach ($states as $workflowId => $state)
		{
			$listWorkflowId[] = $workflowId;
		}

		self::deleteSocnetLog($listWorkflowId);

		CBPDocument::onDocumentDelete(BizprocDocument::getDocumentComplexId($iblockType, $fields['ID']), $errors);
	}

	$propertyQuery = CIBlockElement::getProperty(
		$fields['IBLOCK_ID'], $fields['ID'], 'sort', 'asc', array('ACTIVE'=>'Y'));
	while($property = $propertyQuery->fetch())
	{
		$userType = CIBlockProperty::getUserType($property['USER_TYPE']);
		if (array_key_exists('DeleteAllAttachedFiles', $userType))
		{
			call_user_func_array($userType['DeleteAllAttachedFiles'], array($fields['ID']));
		}
	}
}