- Модуль: 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']);
}
}
}