- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/component_engine.php
- Класс: partCComponentEngine
- Вызов: CComponentEngine::__checkPath4Template
protected function __checkPath4Template($pageTemplate, $currentPageUrl, &$arVariables)
{
if (!empty($this->greedyParts))
{
$pageTemplateReg = preg_replace("'#(?:".implode("|", $this->greedyParts).")#'", "(.+?)", $pageTemplate);
$pageTemplateReg = preg_replace("'#[^#]+?#'", "([^/]+?)", $pageTemplateReg);
}
else
{
$pageTemplateReg = preg_replace("'#[^#]+?#'", "([^/]+?)", $pageTemplate);
}
if (mb_substr($pageTemplateReg, -1, 1) == "/")
$pageTemplateReg .= "index\.php";
$arValues = array();
if (preg_match("'^".$pageTemplateReg."$'", $currentPageUrl, $arValues))
{
$arMatches = array();
if (preg_match_all("'#([^#]+?)#'", $pageTemplate, $arMatches))
{
for ($i = 0, $cnt = count($arMatches[1]); $i < $cnt; $i++)
$arVariables[$arMatches[1][$i]] = $arValues[$i + 1];
}
return true;
}
return false;
}