• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/data/appcachemanifest.php
  • Класс: BitrixMainDataAppCacheManifest
  • Вызов: AppCacheManifest::onBeforeEndBufferContent
static function onBeforeEndBufferContent()
{
	global $APPLICATION;
	$selfObject = self::getInstance();
	$server = BitrixMainContext::getCurrent()->getServer();
	$params = Array();
	$appCacheUrl = $server->get("HTTP_BX_APPCACHE_URL");
	$appCacheParams = $server->get("HTTP_BX_APPCACHE_PARAMS");
	if (strlen($appCacheUrl) > 0)
	{
		//TODO compare $_SERVER["REQUEST_URI"] and $_SERVER["HTTP_BX_APPCACHE_URL"]
		$selfObject->setIsSided(true);
		$selfObject->setPageURI($appCacheUrl);
		if ($appCacheParams)
		{
			$params = json_decode($appCacheParams, true);

			if (!is_array($params))
			{
				$params = array();
			}

			$selfObject->setReceivedCacheParams($params);
		}
	}
	else
	{
		$selfObject->setPageURI($server->get("REQUEST_URI"));

		if(!self::$debug)
		{
			$APPLICATION->SetPageProperty("manifest", " manifest="" . self::getManifestCheckFile() . "?manifest_id=" . $selfObject->getCurrentManifestID() . """);
		}
		else
		{
			Asset::getInstance()->addString("");
		}

		$params = Array(
			"PAGE_URL" => $selfObject->getPageURI(),
			"PARAMS" => $selfObject->getAdditionalParams(),
			"MODE" => "APPCACHE"
		);
	}

	return (is_array($params) ? $params : array());
}