• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/wizard_util.php
  • Класс: ifCWizardUtil
  • Вызов: CWizardUtil::ReplaceMacros
static function ReplaceMacros($filePath, $arReplace, $skipSharp = false)
{
	clearstatcache();

	if (!is_file($filePath) || !is_writable($filePath) || !is_array($arReplace))
		return;

	@chmod($filePath, BX_FILE_PERMISSIONS);

	if (!$handle = @fopen($filePath, "rb"))
		return;

	$content = @fread($handle, filesize($filePath));
	@fclose($handle);

	if (!($handle = @fopen($filePath, "wb")))
		return;

	if (flock($handle, LOCK_EX))
	{
		$arSearch = array();
		$arValue = array();

		foreach ($arReplace as $search => $replace)
		{
			if ($skipSharp)
				$arSearch[] = $search;
			else
				$arSearch[] = "#".$search."#";

			$arValue[] = $replace;
		}

		$content = str_replace($arSearch, $arValue, $content);
		@fwrite($handle, $content);
		@flock($handle, LOCK_UN);
	}
	@fclose($handle);
}