• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/composite/engine.php
  • Класс: BitrixMainCompositeEngine
  • Вызов: Engine::onEpilog
static function onEpilog()
{
	if (!self::isOn())
	{
		return;
	}

	global $USER, $APPLICATION;

	if (is_object($USER) && $USER->IsAuthorized())
	{
		if (self::isCurrentUserCC())
		{
			if ($APPLICATION->get_cookie("CC") !== "Y" || $APPLICATION->get_cookie("NCC") === "Y")
			{
				self::setCC();
			}
		}
		else
		{
			if ($APPLICATION->get_cookie("NCC") !== "Y" || $APPLICATION->get_cookie("CC") === "Y")
			{
				self::setNCC();
			}
		}
	}
	else
	{
		if ($APPLICATION->get_cookie("NCC") === "Y" || $APPLICATION->get_cookie("CC") === "Y")
		{
			self::deleteCompositeCookies();
		}
	}

	if (BitrixMainDataCache::shouldClearCache())
	{
		$server = Context::getCurrent()->getServer();

		$queryString = DeleteParam(
			array(
				"clear_cache",
				"clear_cache_session",
				"bitrix_include_areas",
				"back_url_admin",
				"show_page_exec_time",
				"show_include_exec_time",
				"show_sql_stat",
				"bitrix_show_mode",
				"show_link_stat",
				"login"
			)
		);

		$uri = new Uri($server->getRequestUri());
		$refinedUri = $queryString != "" ? $uri->getPath()."?".$queryString : $uri->getPath();

		$cacheStorage = new Page($refinedUri, Helper::getHttpHost());
		$cacheStorage->delete();
	}
}