- Модуль: 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).'
'.$MESS;
CAdminInformer::AddItem($informerParams);
}
}