• Модуль: bitrixcloud
  • Путь к файлу: ~/bitrix/modules/bitrixcloud/classes/general/backup.php
  • Класс: CBitrixCloudBackup
  • Вызов: CBitrixCloudBackup::OnAdminInformerInsertItems
static function OnAdminInformerInsertItems()
{
	global $USER;

	$informerParams = array(
		"TITLE" => GetMessage("BCL_BACKUP_AI_TITLE"),
		"COLOR" => "peach",
	);

	$backup = self::getInstance();
	$backup->loadFromOptions();
	$last_request_time_option = CBitrixCloudOption::getOption("backup_last_backup_time");
	try
	{
		if (
			$backup->getQuota() <= 0
			&& $last_request_time_option->getIntegerValue() <= 0
		)
		{
			$backup->_getInformation(true);
			$backup->saveToOptions();
			$last_request_time_option->setStringValue((string)time());
		}
	}
	catch (CBitrixCloudException $e)
	{
		///TODO show error to user
		return;
	}

	if ( $backup->getQuota() <= 0 )
		return;

	$arFiles = $backup->listFiles();
	if (empty($arFiles))
	{
		$PROGRESS_FREE = 100;
		$AVAIL = $backup->getQuota();
		$ALLOWED = CFile::FormatSize($backup->getQuota(), 0);
		$informerParams["ALERT"] = true;
		$MESS = ''.GetMessage("BCL_BACKUP_AI_NO_FILES").'';
		if ($USER->CanDoOperation("bitrixcloud_backup") && $USER->CanDoOperation('edit_php'))
		{
			$informerParams["FOOTER"] = ''.GetMessage("BCL_BACKUP_AI_DO_BACKUP_STRONGLY").'';
		}
	}
	elseif($backup->getLastTimeBackup() < (time()-7*24*3600))
	{
		$AVAIL = $backup->getQuota()-$backup->getUsage();
		if($AVAIL < 0.0)
			$AVAIL = 0.0;

		$PROGRESS_FREE = round($AVAIL/$backup->getQuota()*100);
		$ALLOWED = CFile::FormatSize($backup->getQuota(), 0);
		$informerParams["ALERT"] = true;
		$MESS = ''.GetMessage("BCL_BACKUP_AI_LAST_TIME").': '.FormatDate(array(
				"today" => "today",
				"yesterday" => "yesterday",
				"" => "dago",
			), $backup->getLastTimeBackup()).'.';
		if ($USER->CanDoOperation("bitrixcloud_backup") && $USER->CanDoOperation('edit_php'))
		{
			$informerParams["FOOTER"] = ''.GetMessage("BCL_BACKUP_AI_DO_BACKUP_STRONGLY").'';
		}
	}
	else
	{
		$AVAIL = $backup->getQuota()-$backup->getUsage();
		if($AVAIL < 0.0)
			$AVAIL = 0.0;

		$PROGRESS_FREE = round($AVAIL/$backup->getQuota()*100);
		$ALLOWED = CFile::FormatSize($backup->getQuota(), 0);
		$informerParams["ALERT"] = false;
		$MESS = GetMessage("BCL_BACKUP_AI_LAST_TIME").': '.FormatDate(array(
				"today" => "today",
				"yesterday" => "yesterday",
				"" => "dago",
			), $backup->getLastTimeBackup());
		if ($USER->CanDoOperation("bitrixcloud_backup") && $USER->CanDoOperation('edit_php'))
		{
			$informerParams["FOOTER"] = ''.GetMessage("BCL_BACKUP_AI_DO_BACKUP").'';
		}
	}

	if(isset($informerParams["ALERT"]))
	{
		$PROGRESS_FREE_BAR = $PROGRESS_FREE < 0? 0: $PROGRESS_FREE;
		$informerParams["HTML"] = '
			
'.GetMessage("BCL_BACKUP_AI_USAGE_TOTAL").' '.$ALLOWED.' '.GetMessage("BCL_BACKUP_AI_USAGE_AVAIL").' '.CFile::FormatSize($AVAIL, 0).'
'.(100-$PROGRESS_FREE).'%
'.$MESS; CAdminInformer::AddItem($informerParams); } }