• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/composite/helper.php
  • Класс: BitrixMainCompositeshares
  • Вызов: shares::convertUriToPath
static function convertUriToPath($uri, $host = null, $privateKey = null)
{
	$uri = "/".trim($uri, "/");
	$parts = explode("?", $uri, 2);

	$uriPath = $parts[0];
	$uriPath = preg_replace("~/index\.(php|html)$~i", "", $uriPath);
	$uriPath = rtrim(str_replace("..", "__", $uriPath), "/");
	$uriPath .= "/index";

	$queryString = isset($parts[1]) ? self::removeIgnoredParams($parts[1]) : "";
	$queryString = str_replace(".", "_", $queryString);

	$host = self::getHttpHost($host);
	if ($host <> '')
	{
		$host = "/".$host;
		$host = preg_replace("/:(\d+)$/", "-\1", $host);
	}

	$privateKey = preg_replace("~[^a-z0-9/_]~i", "", (string)$privateKey);
	if ($privateKey <> '')
	{
		$privateKey = "/".trim($privateKey, "/");
	}

	$cacheKey = $host.$uriPath."@".$queryString.$privateKey.".html";

	return str_replace(array("?", "*"), "_", $cacheKey);
}