Your IP : 3.141.202.161


Current Path : /var/www/www-root/data/www.catalog.monolith-realty.ru/bitrix/modules/main/admin/
Upload File :
Current File : /var/www/www-root/data/www.catalog.monolith-realty.ru/bitrix/modules/main/admin/template_export.php

<?
/**
 * Bitrix Framework
 * @package bitrix
 * @subpackage main
 * @copyright 2001-2013 Bitrix
 */

/**
 * Bitrix vars
 * @global CUser $USER
 * @global CMain $APPLICATION
 */

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");

if((!$USER->CanDoOperation('edit_other_settings') && !$USER->CanDoOperation('view_other_settings')) || !check_bitrix_sessid())
	$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));

$ID = str_replace("\\", "", $_REQUEST["ID"]);
$ID = str_replace("/", "", $ID);
$bUseCompression = true;
if(!extension_loaded('zlib') || !function_exists("gzcompress"))
	$bUseCompression = false;

require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/tar_gz.php");

CheckDirPath($_SERVER['DOCUMENT_ROOT'].BX_PERSONAL_ROOT."/tmp/templates/");
$tmpfname = $_SERVER['DOCUMENT_ROOT'].BX_PERSONAL_ROOT."/tmp/templates/".\Bitrix\Main\Security\Random::getString(32).".tar.gz";

$HTTP_ACCEPT_ENCODING = "";

$strError = "";
$path = getLocalPath("templates/".$ID, BX_PERSONAL_ROOT);
if(is_dir($_SERVER["DOCUMENT_ROOT"].$path))
{
	$oArchiver = new CArchiver($tmpfname, $bUseCompression);
	$tres = $oArchiver->add("\"".$_SERVER["DOCUMENT_ROOT"].$path."\"", false, $_SERVER["DOCUMENT_ROOT"].$path);
	if(!$tres)
	{
		$strError = "Archiver error";
		$arErrors = &$oArchiver->GetErrors();
		if(!empty($arErrors))
		{
			$strError .= ":<br>";
			foreach ($arErrors as $value)
				$strError .= "[".$value[0]."] ".$value[1]."<br>";
		}
		else
			$strError .= ".<br>";
	}

	header('Pragma: public');
	header('Cache-control: private');
	header("Content-Type: application/force-download; name=\"".$ID.".tar.gz\"");
	header("Content-Transfer-Encoding: binary");
	header("Content-Length: ".filesize($tmpfname));
	header("Content-Disposition: attachment; filename=\"".$ID.".tar.gz\"");
	header("Expires: 0");
	
	readfile($tmpfname);
	unlink($tmpfname);
	//	die();
}

if ($strError <> '')
{
	$APPLICATION->SetTitle("Archiver error");
	require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");

	CAdminMessage::ShowMessage($strError);

	require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin_before.php");
}
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin_after.php");