• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/ui/viewer/filepreviewtable.php
  • Класс: BitrixMainUIViewerFilePreviewTable
  • Вызов: FilePreviewTable::deleteOld
static function deleteOld($dayToDeath = 22, $portion = 20)
{
	$deathTime = new Date();
	$deathTime->add("-{$dayToDeath} day");

	$query = self::query();
	$filter = $query::filter()
		->logic('or')
			->whereNull('TOUCHED_AT')
			->where('TOUCHED_AT', '<', $deathTime)
	;

	$files = self::getList([
		'select' => ['ID', 'PREVIEW_IMAGE_ID', 'PREVIEW_ID'],
		'filter' => $filter,
		'limit' => $portion,
	]);

	foreach ($files as $file)
	{
		$keepImage = isset($file['PREVIEW_IMAGE_ID']);

		self::deleteContent($file, $keepImage);
		if (!$keepImage)
		{
			self::delete($file['ID']);
		}
	}
}