• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/file.php
  • Класс: BitrixLandingFile
  • Вызов: File::deleteFinal
static function deleteFinal($limit = null)
{
	$deletedFiles = [];

	$res = FileTable::getList([
	  	'select' => [
	 		'ID', 'FILE_ID'
	    ],
  		'filter' => [
			' 0
	    ],
		'limit' => $limit,
		'order' => [
			'ID' => 'asc'
		]
	]);
	while ($row = $res->fetch())
	{
		$row['FILE_ID'] *= -1;
		FileTable::delete($row['ID']);
		$deletedFiles[$row['FILE_ID']] = $row['FILE_ID'];
	}
	if (!empty($deletedFiles))
	{
		// don't delete still used
		$res = FileTable::getList([
			'select' => [
				'FILE_ID'
			],
			'filter' => [
				'FILE_ID' => $deletedFiles
			]
		]);
		while ($row = $res->fetch())
		{
			unset($deletedFiles[$row['FILE_ID']]);
		}
		foreach ($deletedFiles as $fid)
		{
			$fileData = self::getFileArray($fid);
			if ($fileData)
			{
				//@tmp log
				Debug::log(
					$fileData['SRC'],
					'fileId: ' . $fid,
					'LANDING_FILE_DELETE'
				);
				CFile::delete($fid);
			}
		}
	}
}