%PDF- %PDF-
| Direktori : /proc/self/root/home/bitrix/www/bitrix/modules/bitrixcloud/classes/general/ |
| 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);
}
}