• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/internals/model/letter.php
  • Класс: Bitrix\Sender\Internals\Model\LetterTable
  • Вызов: LetterTable::onDelete
static function onDelete(Entity\Event $event)
{
	$data = $event->getParameters();
	$fields = static::getRowById($data['primary']['ID']);
	if ($fields)
	{
		$fileQuery = MessageFieldTable::getById([
			'MESSAGE_ID' => $fields['MESSAGE_ID'],
			'CODE' => 'ATTACHMENT',
		]);

		if($row = $fileQuery->fetch())
		{
			$files = explode(",", $row['VALUE']);

			foreach ($files as $file)
			{
				if((int)$file)
				{
					\CFile::Delete((int)$file);
				}
			}
		}

		$messageQuery = MessageFieldTable::getById([
			'MESSAGE_ID' => $fields['MESSAGE_ID'],
			'CODE' => 'MESSAGE',
		]);

		if($row = $messageQuery->fetch())
		{
			FileTable::syncFiles($data['primary']['ID'], 0, $row['VALUE'], true, true);
		}

		MessageTable::delete($fields['MESSAGE_ID']);
	}

	return MailingChainTable::onDelete($event);
}