Your IP : 172.28.240.42


Current Path : /var/www/html/clients/old.e-nkama.ru/e-nkama_bitrix/bitrix/modules/main/public/
Upload File :
Current File : /var/www/html/clients/old.e-nkama.ru/e-nkama_bitrix/bitrix/modules/main/public/enable_component.php

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

IncludeModuleLangFile(__FILE__);

$strWarning = "";
$arComponent = false;

$src_path = Rel2Abs("/", $_GET["src_path"]);
$src_line = intval($_GET["src_line"]);

if(!$USER->CanDoOperation('edit_php') && !$USER->CanDoFileOperation('fm_lpa', array($_GET["src_site"], $src_path)))
	die(GetMessage("ACCESS_DENIED"));

// try to read parameters from script file
/* Try to open script containing the component call */
if(!$src_path || $src_line <= 0)
	$strWarning = GetMessage("comp_prop_err_param");
else
{
	$abs_path = $_SERVER["DOCUMENT_ROOT"].$src_path;
	$filesrc = $APPLICATION->GetFileContent($abs_path);
	if(!$filesrc || $filesrc == "")
		$strWarning = GetMessage("comp_prop_err_open");
}

if($strWarning == "")
{
	$arComponent = PHPParser::FindComponent($_GET["component_name"], $filesrc, $src_line);

	if($arComponent === false)
		$strWarning = GetMessage("comp_prop_err_comp");
}

if($strWarning == "")
{
	if(!check_bitrix_sessid())
	{
		$strWarning = GetMessage("comp_prop_err_save");
	}
	else
	{
		if(!is_array($arComponent["DATA"]["FUNCTION_PARAMS"]))
			$arComponent["DATA"]["FUNCTION_PARAMS"] = array();
		
		$arComponent["DATA"]["FUNCTION_PARAMS"]["ACTIVE_COMPONENT"] = ($_GET['active'] == 'N'? 'N':'Y');

		$code =  ($arComponent["DATA"]["VARIABLE"]? $arComponent["DATA"]["VARIABLE"]."=":"").
			"\$APPLICATION->IncludeComponent(\"".$arComponent["DATA"]["COMPONENT_NAME"]."\", ".
			"\"".$arComponent["DATA"]["TEMPLATE_NAME"]."\", ".
			"array(\r\n\t".PHPParser::ReturnPHPStr2($arComponent["DATA"]["PARAMS"])."\r\n\t)".
			",\r\n\t".(strlen($arComponent["DATA"]["PARENT_COMP"]) > 0? $arComponent["DATA"]["PARENT_COMP"] : "false").
			",\r\n\t"."array(\r\n\t".PHPParser::ReturnPHPStr2($arComponent["DATA"]["FUNCTION_PARAMS"])."\r\n\t)".
			"\r\n);";

		$filesrc_for_save = substr($filesrc, 0, $arComponent["START"]).$code.substr($filesrc, $arComponent["END"]);

		if(!$APPLICATION->SaveFileContent($abs_path, $filesrc_for_save))
			$strWarning = GetMessage("comp_prop_err_save");
	}
}

if($strWarning <> "")
	echo "<script>alert('".CUtil::JSEscape($strWarning)."')</script>";

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