• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/checklist.php
  • Класс: CAutoCheck
  • Вызов: CAutoCheck::CheckBackup
static function CheckBackup()
{
	$arCount = 0;
	$arResult = array();
	$arResult["STATUS"] = false;
	$bBitrixCloud = function_exists('openssl_encrypt') && CModule::IncludeModule('bitrixcloud') && CModule::IncludeModule('clouds');

	$site = CSite::GetSiteByFullPath($_SERVER['DOCUMENT_ROOT']);
	$path = BX_ROOT."/backup";
	$arTmpFiles = array();
	$arFilter = array();
	GetDirList(array($site, $path), $arDir, $arTmpFiles, $arFilter, array('sort' => 'asc'), "F");

	foreach($arTmpFiles as $ar)
	{
		if (mb_strpos($ar['NAME'], ".enc.gz") || mb_strpos($ar['NAME'], ".tar.gz") || mb_strpos($ar['NAME'], ".tar") || mb_strpos($ar['NAME'], ".enc"))
			$arCount++;
	}

	if ($bBitrixCloud)
	{
		$backup = CBitrixCloudBackup::getInstance();
		try
		{
			foreach($backup->listFiles() as $ar)
			{
				if (mb_strpos($ar['FILE_NAME'], ".enc.gz") || mb_strpos($ar['FILE_NAME'], ".tar.gz") || mb_strpos($ar['FILE_NAME'], ".tar") || mb_strpos($ar['FILE_NAME'], ".enc"))
					$arCount++;
			}
		}
		catch (Exception $e)
		{
		}
	}
	if ($arCount>0)
	{
		$arResult["STATUS"] = true;
		$arResult["MESSAGE"]["PREVIEW"] = GetMessage("CL_FOUND_BACKUP", array("#count#" => $arCount));
	}
	else
	{
		$arResult["MESSAGE"]["PREVIEW"] = GetMessage("CL_NOT_FOUND_BACKUP");
	}
	return $arResult;
}