• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/main.php
  • Класс: CAllMain
  • Вызов: CAllMain::EndBufferContent
public function EndBufferContent($content="")
{
	if ($this->buffer_man)
	{
		$this->auto_buffer_cleaned = true;
		return "";
	}

	CompositeEngine::checkAdminPanel();

	if (function_exists("getmoduleevents"))
	{
		foreach (GetModuleEvents("main", "OnBeforeEndBufferContent", true) as $arEvent)
		{
			ExecuteModuleEventEx($arEvent, array());
		}
	}

	$asset = Asset::getInstance();
	$asset->addString(CJSCore::GetCoreMessagesScript(), false, AssetLocation::AFTER_CSS, AssetMode::STANDARD);
	$asset->addString(CJSCore::GetCoreMessagesScript(true), false, AssetLocation::AFTER_CSS, AssetMode::COMPOSITE);

	$asset->addString($this->GetSpreadCookieHTML(), false, AssetLocation::AFTER_JS, AssetMode::STANDARD);
	if ($asset->canMoveJsToBody() && CJSCore::IsCoreLoaded())
	{
		$asset->addString(CJSCore::GetInlineCoreJs(), false, AssetLocation::BEFORE_CSS, AssetMode::ALL);
	}

	if (is_object($GLOBALS["APPLICATION"])) //php 5.1.6 fix: http://bugs.php.net/bug.php?id=40104
	{
		$cnt = count($this->buffer_content_type);
		for ($i = 0; $i < $cnt; $i++)
		{
			$this->buffer_content[$i*2+1] = call_user_func_array($this->buffer_content_type[$i]["F"], $this->buffer_content_type[$i]["P"]);
		}
	}

	$compositeContent = CompositeEngine::startBuffering($content);
	$content = implode("", $this->buffer_content).$content;

	if (function_exists("getmoduleevents"))
	{
		foreach (GetModuleEvents("main", "OnEndBufferContent", true) as $arEvent)
		{
			ExecuteModuleEventEx($arEvent, array(&$content));
		}
	}

	$wasContentModified = CompositeEngine::endBuffering($content, $compositeContent);
	if (!$wasContentModified && $asset->canMoveJsToBody())
	{
		$asset->moveJsToBody($content);
	}

	return $content;
}