• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/site_template.php
  • Класс: CSiteTemplate
  • Вызов: CSiteTemplate::Update
public function Update($ID, $arFields)
{
	/** @global CMain $APPLICATION */
	global $APPLICATION;

	if(!$this->CheckFields($arFields, $ID))
	{
		return false;
	}

	$path = getLocalPath("templates/".$ID, BX_PERSONAL_ROOT);
	if($path === false)
	{
		return false;
	}
	if(isset($arFields["CONTENT"]))
	{
		$p = mb_strpos($arFields["CONTENT"], "#WORK_AREA#");
		$header = mb_substr($arFields["CONTENT"], 0, $p);
		$APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"].$path."/header.php", $header);
		$footer = mb_substr($arFields["CONTENT"], $p + mb_strlen("#WORK_AREA#"));
		$APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"].$path."/footer.php", $footer);
	}
	if(isset($arFields["STYLES"]))
	{
		$APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"].$path."/styles.css", $arFields["STYLES"]);
	}

	if(isset($arFields["TEMPLATE_STYLES"]))
	{
		$APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"].$path."/template_styles.css", $arFields["TEMPLATE_STYLES"]);
	}

	if(isset($arFields["NAME"]) || isset($arFields["DESCRIPTION"]) || isset($arFields["SORT"]) || isset($arFields["TYPE"]))
	{
		$db_t = CSiteTemplate::GetList(array(), array("ID" => $ID), array("NAME", "DESCRIPTION", "SORT"));
		$ar_t = $db_t->Fetch();

		if(!isset($arFields["NAME"]))
			$arFields["NAME"] = $ar_t["NAME"];
		if(!isset($arFields["DESCRIPTION"]))
			$arFields["DESCRIPTION"] = $ar_t["DESCRIPTION"];
		if(!isset($arFields["SORT"]))
			$arFields["SORT"] = $ar_t["SORT"];
		if(!isset($arFields["TYPE"]))
			$arFields["TYPE"] = $ar_t["TYPE"];
		if(!isset($arFields["EDITOR_STYLES"]))
			$arFields["EDITOR_STYLES"] = $ar_t["EDITOR_STYLES"];

		self::SaveDescription($arFields, $_SERVER["DOCUMENT_ROOT"].$path."/description.php");
	}

	self::SaveStyleDescription($arFields["STYLES_DESCRIPTION"], $_SERVER["DOCUMENT_ROOT"].$path."/.styles.php");

	return true;
}