• Модуль: clouds
  • Путь к файлу: ~/bitrix/modules/clouds/classes/general/storage.php
  • Класс: CCloudStorage
  • Вызов: CCloudStorage::CleanUp
static function CleanUp()
{
	$buckets = array();
	$date = new BitrixMainTypeDateTime();
	$date->add("-1D");
	$savedFiles = BitrixCloudsFileSaveTable::getList(array(
		"filter" => array(
			" $date,
		),
	));
	while ($saveFile = $savedFiles->fetchObject())
	{
		$dbFile = CFile::GetList(array(), array(
			"EXTERNAL_ID" => $saveFile->getExternalId(),
			"SUBDIR" => $saveFile->getSubdir(),
			"FILE_NAME" => $saveFile->getFileName(),
			"HANDLER_ID" => $saveFile->getBucketId(),
		));
		if ($dbFile->Fetch())
		{
			$saveFile->delete();
		}
		else
		{
			$bucketId = $saveFile->getBucketId();
			if (!isset($buckets[$bucketId]))
			{
				$buckets[$bucketId] = new CCloudStorageBucket($bucketId);
			}
			$bucket = $buckets[$bucketId];

			if ($bucket->Init())
			{
				$filePath = "/".$saveFile->getSubdir()."/".$saveFile->getFileName();
				if ($bucket->DeleteFile($filePath))
				{
					$fileSize = $saveFile->getFileSize();
					if ($fileSize >= 0)
					{
						$bucket->DecFileCounter($fileSize);
					}
				}
				$saveFile->delete();
			}
		}
	}

	CCloudStorageUpload::CleanUp();

	return "CCloudStorage::CleanUp();";
}